我有一个wpf应用程序,我在其中使用wpf网格并为其动态添加/删除控件。添加控件是好的,但是在删除它们后,它们会从网格中消失,但是会留下空白的地方,这些空间会被其余元素占据,就像它们在包装面板中一样。在运行时删除元素时刷新WPF网格布局
此前我使用包装面板,它工作正常,但我需要在我的groupboxes中添加分隔控制,因此我用网格替换了wrappanel。
下面是窗口的截图
我取出中间组合框中并显示这样
我想要的第三组框占据第二的位置组框。 对于记录,我已经使用网格调整大小事件,这是它具有
foreach (var control in this.DynamicGrid.Children)
{
if (control.GetType() == typeof(GroupBox))
{
GroupBox groupBox = control as GroupBox;
groupBox.Height = this.DynamicGrid.ActualHeight;
this.WrapPanel1.Width = this.DynamicGrid.ActualWidth;
}
}
Wrappanel具有其中我们添加/删除元素动态网格的代码。
ColumnDefinition宽度=“自动”解决了这个问题对我来说。 – MegaMind
好:)只是要小心,你仍然可以使用标签来关注隐藏的控件。如果你有一些键盘操作,你应该做一些事情来防止它。 –
如果我使用Column definition =“Auto”,但网格没有调整自身大小,元素会对齐。它也应该减小其宽度。 – MegaMind