我有一个参考FrameworkElement
名为_frameworkElement 我需要在drawingContext上绘制一个FrameworkElement
在OnRender
事件。如何在drawingContext上绘制FrameworkElement?
像这样:
protected override void OnRender(DrawingContext drawingContext)
{
drawingContext. ??
base.OnRender(drawingContext);
}
我需要的是考虑任何渲染变换应用到这个问题的_frameworkElement
任何清晰的解决方案? 感谢
编辑
为什么我需要重写的OnRender:
因为我有一个图形化应用程序,用户可以绘制形状,并选择使用选择工具,将绘制多个形状矩形选择区域。
我所做的是我重新选择了从舞台画布选择的形状到选择画布,用户可以移动和调整大小,在选择画布上进行转换后,用户将点击舞台画布,然后将舞台形状重新设置到舞台上帆布。
问题:
从画布除去儿童帆布时,有一个瓶颈,Children.Remove & Children.Add将花费时间来实施,特别是当用户选择大量形状变换。
那么,
我认为不重新选择父的形状,而不是吸引他们的选择画布的的DrawingContext通过覆盖的OnRender
你为什么要那样做?我想不出你需要在WPF中重写OnRender()的情况。请提供更多关于你想要做什么的细节。 –
有些情况下需要重写。我用它来绘制实时数据表示(想象一下,如果你愿意的话,心脏EKG的种类),响应鼠标定位和事件。这是一个有效的场景。 但是,如果我们要帮助您达到目标,那么了解您需要完成的工作将会很有帮助。 :) – XamlZealot
请参阅上面的编辑解释为什么我需要重写OnRender() – simo