WPF事件重新绘制

时间:2012-09-12 13:50:25

标签: c# .net wpf events rendering

我有一些代码可以将Canvas的内容呈现为位图。周期性地,Canvas的子元素可以在视觉上改变,我需要一种识别何时发生这种情况的方法,以便我可以重新绘制Bitmap。我最初的想法是覆盖Canvas.OnRender但是当孩子重新渲染时似乎没有调用它。

非常感谢任何建议

1 个答案:

答案 0 :(得分:2)

请记住,WPF不是在框架基础上重绘,而是更多关于脏区域的概念。 OnRender也不像OnPaint,它用于创建缓存表示来呈现实际内容,在大多数情况下,它不需要重新呈现以显示某些更改,这就是为什么它不被调用。要获得所需的效果,可以使用CompositionTarget.Rendering事件。它可能是最接近油漆事件的。 但是有一个警告,当你附加到该事件时,渲染行为会改变一点检查this

另一个想法可能是研究VisualBrush