WPF网格与HTML Div,是否可以防止控件重叠?

时间:2013-07-06 10:47:14

标签: c# wpf visual-studio-2010

在WPF中,我有这个简单的网格

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

当我运行它们时,它们都被放置在彼此之上,因此你看不到SecondLabel,只有FirstLabel可见。

现在,显然我没有使用任何边距,或者dockpanel / stackpanel / Wrappanel。

我会认为像HTML Divs(我知道,比较苹果和橘子),SecondLabel只会将* next *放到FirstLabel中,两者都可见。

所以一个* 必须 *在这种情况下使用布局容器还是有替代方案?

由于

2 个答案:

答案 0 :(得分: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的宽度。

答案 1 :(得分:1)

我认为您正在寻找的是列定义:

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

希望这有帮助。