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

本文关键字:控件 重叠 是否 网格 HTML 分区 WPF | 更新日期: 2023-09-27 18:21:21

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

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

当我运行它时,它们都放在一起,所以你看不到SecondLabel,只有FirstLabel可见。

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

我本以为,就像HTML Divs(我知道,比较苹果和橙子)一样,SecondLabel只会放在FirstLabel的**后面,让两者都可见。

因此,在这种情况下,一个*必须*使用布局容器,或者有其他选择吗?

感谢

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

我认为必须使用布局容器。然而,Grid也是一个布局容器。如果您不想使用StackPanel或任何其他行为与您描述的类似的控件,您也可以在Grid内部定义行和列。

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

您也可以设置RowDefinition的宽度。

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

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

希望这能有所帮助。