在OnRender方法中绘制文本

时间:2010-04-18 14:39:46

标签: wpf wpf-controls

我有一个继承自Canvas的类。在OnRender方法中,我绘制了一个文本,该文本被画布上的控件覆盖。

是否有方法将文本置于控件的“上方”?有一个OnRenderComplete方法(在呈现可视树后调用)?

2 个答案:

答案 0 :(得分:1)

尝试使用DrawingVisual:

http://www.codeproject.com/KB/WPF/WPF_DrawTools.aspx

此示例中使用的DrawingCanvas类包含DrawingVisual对象,它可以是透明的并放置在所有ather控件上。在这种情况下,DrawingVisual可以绘制将出现在另一个控件上的文本。应将鼠标事件重定向到基础控件。我希望有更简单的解决方案,但如果没有,你可以试试。

答案 1 :(得分:0)

不,至少没有任何可行的方法。即使您在渲染画布时设法在控件上绘图,您仍然只在控件所在的屏幕上绘图,控件也没有被绘制的概念。

如果某些控件是单独更新的,那么当它们完成绘制时,它们不会通知画布在它们上面绘制。