从 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

您确实可以覆盖 UIElementOnRender 方法来定义您自己的渲染指令,但请注意,这不是像 Windows 那样的即时模式渲染 API表格的OnPaint。事实上,WPF 中没有这样的 API。

调用OnRender方法时不直接使用DrawingContext的绘图操作。它们在稍后阶段由渲染线程处理。

因此,根据您要执行的操作,覆盖 OnRender 方法可能不是您的最佳选择。您可能想要坚持创建复合 UI 元素的 "WPF way"。