在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 =“*”'。请参阅@ Blam的答案了解更多细节 –
Mhh似乎不适用于我的情况,Button仍然只有Text的大小。 – AgentKnopf
如果内容宽度大于列,则不起作用。 – walteronassis