2013-01-06 105 views
1

我在WPF中有2行2列的網格。我希望列的寬度對每一行都是獨立的。我試過「汽車」,但沒有成功。這裏是爲了一個圖片說明:WPF Grid中的獨立寬度

enter image description here

我怎樣才能做到這一點使用網格?

+0

你是什麼意思「列widht是獨立的」?和你想要的? –

+0

嘗試設置您的列跨度屬性 – PhoenixReborn

回答

1

如果你必須使用一個網格佈局,那麼你有兩個選擇:

選項1:使每行一列,然後窩在每一行中的網格,你想獨立列:

XAML

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition /> 
     <RowDefinition /> 
    </Grid.RowDefinitions> 

    <TextBlock Text="AAAAAAAAAAAAAAAAAAAA" /> 

    <Grid Grid.Row="1"> 
     <Grid.ColumnDefinitions> 
     <ColumnDefinition /> 
     <ColumnDefinition /> 
     </Grid.ColumnDefinitions> 

     <TextBlock Text="BBBBBBB""> 
     <TextBlock Grid.Column="1" Text="CCCCCCC" /> 
    </Grid> 
</Grid> 

選項2:利用ColumnSpan在行:

XAML

<Grid> 
    <Grid.RowDefinitions> 
    <RowDefinition /> 
    <RowDefinition /> 
    </Grid.RowDefinitions> 

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

     <TextBlock Grid.ColumnSpan="2" Text="AAAAAAAAAAAAAAAAAAAA" /> 
     <TextBlock Grid.Row="1" Text="BBBBBBB""> 
     <TextBlock Grid.Row="1" Grid.Column="1" Text="CCCCCCC" /> 
    </Grid> 
</Grid> 

*這些是沒有類型的編輯,可能需要一些調整。

+0

非常感謝! Grid.ColumnSpan看起來不錯:) –

0

兩個網格?

<StackPanel Width="277"> 
    <Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"/> 
     </Grid.RowDefinitions> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="Auto"/> 
      <ColumnDefinition Width="*"/> 
     </Grid.ColumnDefinitions> 
     <TextBlock Text="AAAAAAAAAAAAAAAAAAAA" Grid.Row="0" Grid.Column="0"/>    
    </Grid> 
    <Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"/> 
     </Grid.RowDefinitions> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="Auto"/> 
      <ColumnDefinition Width="*"/> 
     </Grid.ColumnDefinitions> 
     <TextBlock Text="BBBBBBB" Grid.Row="0" Grid.Column="0"/> 
     <TextBlock Text="CCCCCCC" Grid.Row="0" Grid.Column="1"/> 
    </Grid> 
</StackPanel> 
+0

如果使用StackPanel進行佈局,則不需要第一個網格,因爲網格中只有一個TextBlock元素。此外,第一個網格有不必要的列;整個行和列定義可以一起被刪除,這隻會將TextBlock嵌套在Grid中。用一個網格查看兩種不同佈局的答案。 –

+0

@MetroSmurf沒錯,我假設他確實有更多的東西放在第一個網格的第二列。如果他想爲他的行完全獨立的寬度,即使使用rowspans也是不可能的。 – weston