2011-11-20 55 views
2

我有一個繼承自Canvas的DerivedCanvas類。我使用它來繪製幾個自定義繪畫視覺效果,但無法弄清楚如何將一個Button對象添加爲DrawingVisual對象的子對象。下面是我在DrawingVisual中使用的代碼,但在運行時不顯示任何代碼。是不是可以將一個Button添加爲DrawingVisual的子項,還是我只是做錯了?如何添加一個按鈕作爲DrawingVisual的子項

Button button = new Button { Content = "Exit", Width = 70, Height = 23 }; 
this.Children.Add(button); 
+0

我已經完成了這件事情,並使其工作。然而,我從Control中派生出來,所以這可能會有所作爲。此外,您在什麼時候添加子控件? –

+0

太棒了!至少我知道這是可能的!我已經在父視覺被繪製之前和之後添加了子控件,但都沒有工作。是否有可能分享你的代碼? – knot

回答

0

你確定你的代碼被執行了嗎?放置一個斷點。此外 「這」 可能也不是指你想要的對象..

+0

我添加了一個斷點並執行了代碼。此外,這個孩子的數量增加了一個。 'this'確實指向我想要的對象,但屏幕上仍然沒有繪製任何東西。 – knot

0

試試這個(假設dv是你DrawingVisual對象,sizedv大小):

foreach (var child in dv.Children) 
{ 
    var element = child as UIElement; 
    if (element == null) continue; 
    element.Arrange(new Rect(size)); 
} 
0

1.增加的try-catch處理異常。 2.我猜按鈕已經創建並添加了,但是座標超出了可視範圍。您應該修改按鈕的座標並刷新。

相關問題