从 GDI 到 WPF:渲染
From GDI to WPF: rendering
在 GDI 中,您只需使用 System.Drawing.Graphics 手动处理渲染。
在 WPF 中,DrawingContext 是正确的选择吗?
https://msdn.microsoft.com/en-us/library/system.windows.media.drawingcontext(v=vs.110).aspx
您确实可以覆盖 UIElement
的 OnRender
方法来定义您自己的渲染指令,但请注意,这不是像 Windows 那样的即时模式渲染 API表格的OnPaint
。事实上,WPF 中没有这样的 API。
调用OnRender
方法时不直接使用DrawingContext
的绘图操作。它们在稍后阶段由渲染线程处理。
因此,根据您要执行的操作,覆盖 OnRender
方法可能不是您的最佳选择。您可能想要坚持创建复合 UI 元素的 "WPF way"。
在 GDI 中,您只需使用 System.Drawing.Graphics 手动处理渲染。
在 WPF 中,DrawingContext 是正确的选择吗? https://msdn.microsoft.com/en-us/library/system.windows.media.drawingcontext(v=vs.110).aspx
您确实可以覆盖 UIElement
的 OnRender
方法来定义您自己的渲染指令,但请注意,这不是像 Windows 那样的即时模式渲染 API表格的OnPaint
。事实上,WPF 中没有这样的 API。
调用OnRender
方法时不直接使用DrawingContext
的绘图操作。它们在稍后阶段由渲染线程处理。
因此,根据您要执行的操作,覆盖 OnRender
方法可能不是您的最佳选择。您可能想要坚持创建复合 UI 元素的 "WPF way"。