如何以编程方式删除 WPF 中的控件(例如分组框)?

Mic*_*ers 2 wpf controls wrappanel

我正在使用 WrapPanel 并且因为我想节省空间,所以我想根据某些功能删除(而不是隐藏)一些控件(其中一些是组框)。

我应该使用什么命令来删除控件?

har*_*r07 5

您可以使用Remove()方法或其变体(例如RemoveRange()&RemoveAt())从面板中删除控件:

myWrapPanel.Children.Remove(myGroupBox);
Run Code Online (Sandbox Code Playgroud)

或者简单地将Visibility属性设置为Collapsed要隐藏的控件:

myGroupBox.Visibility = Visibility.Collpased;
Run Code Online (Sandbox Code Playgroud)

这不会导致为MSDN 中所述的那些隐藏控件保留空白空间:

Visibility.Collapsed: 不显示该元素,并且在布局中不为其预留空间。