在 WPF 中,我有一段时间试图让网格正确调整大小。
我的网格有以下布局:
<ItemsControl HorizontalContentAlignment="Stretch">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" />
<Label Grid.Column="1"/>
<TextBox Grid.Column="2"/>
<Button Grid.Column="3"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
问题是 Width="Auto" 似乎将该列调整为内容的宽度,而不是填充父容器中的额外空间。这会使其余列全部未对齐,并且每行末尾都有丑陋的空白。
我可能遗漏了一些简单的东西,但我似乎找不到合适的方法来适应列。
还是有更好的工作控制?