在网格中自动排列 wpf 控件

Posted

技术标签:

【中文标题】在网格中自动排列 wpf 控件【英文标题】:Auto-arrange wpf controls in grid 【发布时间】:2015-03-24 14:02:44 【问题描述】:

我有一个基于 wpf (mvvm-light) 的表单,带有网格和六个按钮,两列中连续三个。由于按钮可以在设置中打开/关闭,我想隐藏其中的一些,但我不想有空白。我怎样才能做到这一点?

【问题讨论】:

如果您有动态内容,请不要使用固定网格。使用 ListBox 或 WrapPanel。 您对基于某些逻辑动态添加按钮感兴趣吗? 这可能是一种选择。 【参考方案1】:

使用 WrapPanel 并将隐藏按钮的可见性设置为 Visibility.Collapsed(不是 Visibility.Hidden,它隐藏了控件,但仍保留了空间)。例如,您可以将可见性绑定到设置值。

请看这里:Difference between Visibility.Collapsed and Visibility.Hidden

【讨论】:

以上是关于在网格中自动排列 wpf 控件的主要内容,如果未能解决你的问题,请参考以下文章

WPF 自动调整字体大小,直到它适合父控件

在 WPF 的网格中显示对其他控件的控件

2021-08-16 WPF控件专题 WrapPanel 控件详解

WPF C# 如何在动态添加的grid控件中添加某个网格中的image控件的单击事件?

在 WPF 中的网格中的单元格之间拖放自定义控件

跳过 WPF 中面板或网格中所有控件的 KeyboardNavigation