行と列 0 をラベルとして持つ WPF グリッドがあります。最初の列を 20 の静的な値にしたいのですが、残りの列を最大幅に達するまで利用可能なスペースまで拡大し、行が最大に達した後でもグリッドを中央に配置したままにします。Grid HorizontalAlignment="Center" を使用すると、各列の幅はその行のコンテンツの幅に等しくなり、空のテキスト ボックスでいっぱいの列にはあまり適していません。Grid HorizontalAlignment="Stretch" を使用すると、まさに私がやりたいことを行いますが、列が最大幅に達した後、グリッドは中央に配置されず、左揃えになります。グリッドを中央に配置して列を伸ばす方法はありますか? 私のグリッドの 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>