1

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

1 に答える 1