在Silverlight

时间:2016-10-31 16:22:22

标签: wpf silverlight border

我想基于复选框的事件在运行时以编程方式在边框左上角附加子控件(按钮)。我的代码复选框为真值:

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应该会消失。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

通过分配ctrlBorder.Child,您可以覆盖其唯一的孩子(允许边界控制的孩子)。尝试将控件追加到边框的实际子节点(Grid?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);