2010-04-18 121 views
0

我有一個從Canvas繼承的類。在OnRender方法中,我畫了一個正在被畫布上的控件覆蓋的文本。在OnRender方法中繪製文本

是否有方法將文本置於控件上方?是否有一個OnRenderComplete方法(在可視化樹被渲染後調用)?

回答

0

不,至少沒有什麼能正常工作。即使您在繪製畫布時設法繪製控件的頂部,您仍然只是在控件所在的屏幕上繪圖,控件沒有被繪製的概念。

如果某些控件是單獨更新的,它們在完成繪製時不會指示畫布在其上繪製。

+0

這是悲傷的,但真的.. – Eden 2010-04-26 18:19:39

1

嘗試使用DrawingVisual:此樣品中使用

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

DrawingCanvas類包含對象DrawingVisual,它可以是透明的並且被放置在所有粥控件。在這種情況下,DrawingVisual可以繪製出現在另一個控件上的文本。鼠標事件應該重定向到基礎控件。我希望有更簡單的解決方案,但如果沒有,你可以試試。