我有一个 WPF 网格,其中行和列 0 作为标签。我希望第一列是 20 的静态值,但我希望其余列伸展到它们的可用空间,直到它们达到最大宽度,并且我希望网格即使在行达到最大宽度后仍保持居中。如果我使用 Grid HorizontalAlignment="Center" 每列宽度等于该行内容的宽度,这对于一个充满空文本框的列来说看起来不是很好。如果我使用 Grid HorizontalAlignment="Stretch" 它完全符合我的要求,但在列达到最大宽度后 Grid 没有居中,它是左对齐的。有没有办法使网格居中并拉伸列?附件是我的网格的 xaml 的一部分。
谢谢。
<Expander Margin="10,10,10,10" Header="Expander">
<Grid Margin="10,10,10,10" HorizontalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20" />
<ColumnDefinition Width="*" MaxWidth="200"/>
<ColumnDefinition Width="*" MaxWidth="200" />
<ColumnDefinition Width="*" MaxWidth="200" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Label Content="Ax" HorizontalContentAlignment="Center" Grid.Column="1" Grid.Row="0"/>
<Label Content="0" HorizontalContentAlignment="Center" VerticalAlignment="Center" Grid.Column="0" Grid.Row="1" />
<TextBox Name="AxK00" Margin="1,1,1,1" HorizontalContentAlignment="Center" Grid.Column="1" Grid.Row="1" />
<TextBox Name="AyK00" Margin="1,1,1,1" HorizontalContentAlignment="Center" Grid.Column="2" Grid.Row="1" />
<TextBox Name="AzK00" Margin="1,1,1,1" HorizontalContentAlignment="Center" Grid.Column="3" Grid.Row="1" />
</Grid>
</Expander>