我将WrapPanel
放置在网格中并使用ToggleButtons
动态填充
wrappanel
所在行的高度是根据ToggleButtons
组件中WrapPanel
的数量计算的。
当我加载屏幕时,wrappanel
中的项目没有正确布局。
但是,当我调整表单大小时,项目会正确显示。
是否有一种方法可以强制重新布置项目,就像调整表单大小时一样?
您可以在下面看到我的WPF代码:
<Grid x:Name="grdScreen">
<Grid.RowDefinitions>
<RowDefinition x:Name="rdToolBar" Height="21" />
<RowDefinition />
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150" />
<ColumnDefinition Width="150" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<ToggleButton Grid.Column="0" Name="btnlegende" Margin="1,1,11,1" Click="btnlegende_Click" />
<Button Grid.Column="1" Name="btnlayout" Margin="1" Click="btnlayout_Click" />
<WrapPanel x:Name="pnlHeader" Grid.Column="2" />
</Grid>
...
</Grid>
答案 0 :(得分:0)
试试this.UpdateLayout();
答案 1 :(得分:0)
您可以调用InvalidateArrange()或InvalidateMeasure()强制WPF重做相应的布局阶段。