如何将网格行拆分为两列?

时间:2012-01-27 21:49:06

标签: wpf grid-layout

我有3行网格布局。如何将第3行拆分为2列。

<Grid.RowDefinitions>
    <RowDefinition Height="0.75*"/>
    <RowDefinition Height="0.25*"/>
    <RowDefinition Height="36"/>
</Grid.RowDefinitions>

2 个答案:

答案 0 :(得分:40)

你可以采取两种方式:

  • 使用嵌套布局。将另一个Grid放在第三行,并在该子网格中有两列。

    <Grid>
        <Grid.RowDefinitions> ... </Grid.RowDefinitions>
        <ThingInFirstRow Grid.Row="0" />
        <ThingInSecondRow Grid.Row="1" />
        <Grid Grid.Row="2">
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <ThingInLowerLeft Grid.Column="0" />
            <ThingInLowerRight Grid.Column="0" />
        </Grid>
    </Grid>
    
  • 坚持使用一个Grid,将其分为两列,然后使用ColumnSpan将前两行中的内容跨越两列。

    <Grid>
        <Grid.RowDefinitions> ... </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <ThingInFirstRow Grid.Row="0" Grid.ColumnSpan="2" />
        <ThingInSecondRow Grid.Row="1" Grid.ColumnSpan="2" />
        <ThingInLowerLeft Grid.Row="2" Grid.Column="0" />
        <ThingInLowerRight Grid.Row="2" Grid.Column="1" />
    </Grid>
    

答案 1 :(得分:0)

<Grid>
        <Grid.RowDefinitions >
            <RowDefinition Height="0.75"/>
            <RowDefinition Height="0.25"/>
            <RowDefinition Height="36"/>
        </Grid.RowDefinitions>

        <Grid Grid.Row="2">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>       
        </Grid>
</Grid>