2013-07-06 71 views
0

在WPF中,我有這個簡單的網格WPF Grid vs HTML Div,是否可以防止控件重疊?

<Grid> 
    <Label Content="Firstlabel" /> 
    <Label Content="Secondlabel" /> 
</Grid> 

,當我運行它,他們都被放置在右側彼此的頂部,所以你不能看到SecondLabel,只有FirstLabel是可見的。

現在,顯然我沒有使用任何邊距或dockpanel/stackpanel/Wrappanel。

我本來以爲像HTML的div(我知道,比較蘋果和橘子&),該SecondLabel將簡單地把* 下一個 *的FirstLabel,留下兩個明顯的。

所以一個* 必須 *在這種情況下使用佈局容器還是有其他選擇?

感謝

回答

1

我認爲你必須使用佈局容器。但是,Grid也是一個佈局容器。如果您不想使用StackPanel或其他任何類似您所描述的控件,您還可以在Grid中定義行和列。

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

    <Label Content="Firstlabel" Grid.Row="0" /> 
    <Label Content="Secondlabel" Grid.Row="1" /> 
</Grid> 

您還可以設置RowDefinition的寬度。

+0

我認爲這只是默認行爲(重疊)。謝謝 –

1

我認爲你在找什麼,是columndefinitions:

<Grid> 
<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="*" /> 
    <ColumnDefinition Width="*" /> 
<Grid.ColumnDefinitions> 
<Label Content = "FirstLabel" Grid.Column="0" /> 
<Label Content = "SecondLabel" Grid.Column="1" /> 
</Grid> 

希望這有助於。