在列网格中定义行网格

时间:2012-03-12 13:28:34

标签: c# wpf

我有一个包含3个已定义列的网格。有没有办法将第1列分成3个网格行而不影响其他2列?我已经尝试定义RowDefinitions,但它跨越了所有3列。我不希望这样。我只希望它影响1列。

3 个答案:

答案 0 :(得分:1)

不,你不能。如果您在Row内声明Grid,那么它将适用于所有Columns

您可以做的一件事是在第一个Grid内声明Column并在Grid中定义三行

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>

   <Grid Grid.Column="0">
        <Grid.RowDefinitions>
             <RowDefinition/>
             <RowDefinition/>
             <RowDefinition/>
        </Grid.RowDefinitions>
   </Grid>
</Grid>

答案 1 :(得分:0)

您应该使用嵌套网格。将内部网格放入第1列并定义一些行:

<Grid Name="outerGrid">
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Grid Name="innerGrid" Grid.Column="0">
        <Grid.RowDefinitions>
            <RowDefinition />
            <RowDefinition />
            <RowDefinition />
        </Grid.RowDefinitions>
    </Grid>
</Grid>

答案 2 :(得分:0)

您可以尝试这种布局:

<Grid ShowGridLines="True" >
    <Grid.ColumnDefinitions>
        <ColumnDefinition></ColumnDefinition>
        <ColumnDefinition></ColumnDefinition>
        <ColumnDefinition></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <Grid Grid.Column="0">
        <Grid.RowDefinitions>
            <RowDefinition></RowDefinition>
            <RowDefinition></RowDefinition>
            <RowDefinition></RowDefinition>                
        </Grid.RowDefinitions>
    </Grid>
</Grid>