WPF控件的父级是否可以更改?

3

是否能更改WPF控件的父级?这里有一个例子:

StackPanel stack1中有一个Button btn1。还有另外一个空的StackPanel stack2。我想通过编程方式将btn1移动到stack2中。

谢谢您的帮助。

1个回答

6
你可以通过 StackPanel.Children 属性来实现此操作:
stack1.Children.Remove(btn1);
stack2.Children.Add(btn1);

2
我试图使用网格来实现这个,但是当我尝试将其添加到新的父级时,它会抛出一个异常,声称它仍然有父级。 - prw56
@prw56 你有尝试在 Grid 尚未加载时删除子元素吗?如果是这样,你可以检查 Grid.Children 是否为空,因为我们知道无法从空集合中删除任何内容。Grid.Children 在加载之前为空是由于 wpf 可视树的惰性加载特性。只需在 Grid 加载后将其删除即可。 - Mr. Squirrel.Downy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接