2017-01-03 3 views
1

大きなコンテナ列の中に列のグループをネストしたいと思います。私はこのためにグリッドを使用しようとしていましたが、提案にはオープンしています。その結果、1行1列と2行1列には、サブ列1a、1b、1c、1dがあります。他の列の中に列をネストする

enter image description here

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Name="row0" Height="35"></RowDefinition> 
     <RowDefinition Name="row1" Height="20"></RowDefinition> 
     <RowDefinition Name="row2" Height="35"></RowDefinition> 
     <RowDefinition Name="row3" Height="35"></RowDefinition> 
     <RowDefinition Name="row4" Height="35"></RowDefinition> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Name="col0" Width="75"></ColumnDefinition> 
     <ColumnDefinition Name="col1" Width="400"></ColumnDefinition> 
     <ColumnDefinition Name="col2" Width="75"></ColumnDefinition> 
    </Grid.ColumnDefinitions> 
+3

にまたがるように言わ? – wkl

+0

@ wklの提案を受けて、ColumnSpanを使用するとグリッドをネストするよりもうまく動作しないかどうかを確認してください。それだけでなく、列と行の量が動的でない限り、グリッドが確実にここに行く方法であることを付け加えたいと思います。 –

答えて

2

ネストされたグリッドは機能しますが、ColumnSpanは、動的コンテンツを持っている場合は、別の列を並べて保持します。

私の例では、ミドルセクション用に3つの新しい列を作成しました。 はその後、行0のcol 1のような列のために、私は単にあなたの代わりに、ネストされたグリッドのGrid.ColumnSpanを使用して考えがあり、それは4列

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Name="row0" Height="35" /> 
     <RowDefinition Name="row1" Height="20" /> 
     <RowDefinition Name="row2" Height="35" /> 
     <RowDefinition Name="row3" Height="35" /> 
     <RowDefinition Name="row4" Height="35" /> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Name="col0" Width="75" /> 
     <ColumnDefinition Name="col1" Width="75" /> 
     <ColumnDefinition Name="col2" Width="125" /> 
     <ColumnDefinition Name="col3" Width="125" /> 
     <ColumnDefinition Name="col4" Width="75" /> 
     <ColumnDefinition Name="col5" Width="75" /> 
    </Grid.ColumnDefinitions> 

    <TextBox Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="4" /> 
    <TextBox Grid.Row="1" Grid.Column="1" /> 
    <TextBox Grid.Row="1" Grid.Column="2" /> 
    <TextBox Grid.Row="2" Grid.Column="0" /> 
    <TextBox Grid.Row="2" Grid.Column="4" /> 
    <TextBox Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="4" /> 
</Grid> 

enter image description here enter image description here

2

ちょうど別のグリッドを追加し、親コンテナに特定のグリッドセルに追加します。代わりに、ネストグリッドの

<Grid Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="1" Grid.RowSpan="2"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="*"/> 
    </Grid.ColumnDefinitions> 
</Grid> 
1

私は1つのグリッドを使用してrow0col1、row3col1とrow4col1の内容にGrid.ColumnSpan="4"を定義することをお勧め(ネストされた場合は、行ってみたい方法です)。

関連する問題