サーチ…


単純なグリッド

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition/>
        <RowDefinition/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <TextBlock Grid.Column="1" Text="abc"/>
    <TextBlock Grid.Row="1" Grid.Column="1" Text="def"/>
</Grid>

行と列が追加定義されRowDefinitionColumnDefinition対応するコレクションに要素を。

Grid内には、子供たちがいます。添付プロパティGrid.RowおよびGrid.Column子を配置する行または列を指定する。行番号と列番号はゼロベースです。行または列が設定されていない場合は、デフォルトで0ます。

同じ行と列に配置された子は、定義の順に描画されます。したがって、最後に定義された子は、前に定義された子の上に描画されます。

複数の行/列にまたがるグリッドの子

Grid.RowSpanおよびGrid.ColumnSpan添付プロパティを使用することにより、 Grid子は複数の行または列にまたがることができます。次の例では、2番目のTextBlockGrid 2番目と3番目の列にまたがります。

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <TextBlock Grid.Column="2" Text="abc"/>
    <TextBlock Grid.Column="1" Grid.ColumnSpan="2" Text="def"/>
</Grid>

複数のグリッドの行または列を同期する

行または列の共通のSharedSizeGroupを同期させることによって、複数のGridの行の高さまたは列の幅を同期させることができます。次に、 Gridの上のツリーのどこかにある親コントロールは、接続プロパティGrid.IsSharedSizeScopeTrue設定する必要がありTrue

<StackPanel Grid.IsSharedSizeScope="True">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" SharedSizeGroup="MyGroup"/>
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        [...]
    </Grid>
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" SharedSizeGroup="MyGroup"/>
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        [...]
    </Grid>
</StackPanel>

この例では、両方のGridの最初の列は常に同じ幅を持ち、そのうちの1つが内容でサイズ変更されている場合も同じです。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow