我有一个继承自Canvas的类。在OnRender
方法中,我绘制了一个文本,该文本被画布上的控件覆盖。
是否有方法将文本置于控件的“上方”?有一个OnRenderComplete
方法(在呈现可视树后调用)?
答案 0 :(得分:1)
尝试使用DrawingVisual:
http://www.codeproject.com/KB/WPF/WPF_DrawTools.aspx
此示例中使用的DrawingCanvas类包含DrawingVisual对象,它可以是透明的并放置在所有ather控件上。在这种情况下,DrawingVisual可以绘制将出现在另一个控件上的文本。应将鼠标事件重定向到基础控件。我希望有更简单的解决方案,但如果没有,你可以试试。
答案 1 :(得分:0)
不,至少没有任何可行的方法。即使您在渲染画布时设法在控件上绘图,您仍然只在控件所在的屏幕上绘图,控件也没有被绘制的概念。
如果某些控件是单独更新的,那么当它们完成绘制时,它们不会通知画布在它们上面绘制。