2016-10-31 40 views
0

我想在運行時基於複選框的事件在邊框左角內以編程方式附加一個子控件(按鈕)。我的複選框真值碼:在Silverlight中的邊框內附加子控件

var btn = new System.Windows.Controls.Primitives.ToggleButton(); 
btn.Style = App.Current.Resources["ToggleButtonStyle"] as Style; 
ctrlBorder.Child = btn; 
ctrlBorder.Tag = btn; 

現在的問題是,如果我加入的孩子,則顯示爲不可見,只有BTN控制內的所有其他控件。我如何在邊界控件內附加一個btn。 另外,取消選中複選框時,btn應該消失。

任何幫助,非常感謝!

+0

你應該先添加一個佈局面板(例如一個StackPanel或網格)的邊界,然後將新元素添加到面板的Children集合中。 – Clemens

回答

0

通過分配ctrlBorder.Child覆蓋其唯一的孩子(一個允許邊框控制)。請儘量把控制追加到邊界的實際子(網格的StackPanel?)

看到https://stackoverflow.com/a/1871229/1346098

Grid tmpGrid = ctrlBorder.Child as Grid; 
tmpGrid.SetRow(btn, 3); 
tmpGrid.SetColumn(btn, 4); 
tmpGrid.Children.Add(btn); 
相關問題