Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF网格与HTML Div,是否可以防止控件重叠?_C#_Wpf_Visual Studio 2010 - Fatal编程技术网

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

C# WPF网格与HTML Div,是否可以防止控件重叠?,c#,wpf,visual-studio-2010,C#,Wpf,Visual Studio 2010,在WPF中,我有一个简单的网格 <Grid> <Label Content="Firstlabel" /> <Label Content="Secondlabel" /> </Grid> 当我运行它时,它们都被放置在彼此的正上方,所以你看不到第二个标签,只有第一个标签是可见的 现在,显然我没有使用任何边距,或者dockpanel/stackpanel/Wrappanel 我本以为,就像HTML div(我知道,比较苹果和橙子)

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

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

当我运行它时,它们都被放置在彼此的正上方,所以你看不到第二个标签,只有第一个标签是可见的

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

我本以为,就像HTML div(我知道,比较苹果和橙子)一样,第二个标签将简单地放在第一个标签的*旁边*,使两者都可见

因此,在这种情况下,必须使用布局容器,还是有其他选择

谢谢

我认为您必须使用布局容器。但是,
Grid
也是一个布局容器。如果不想使用
堆栈面板
或任何其他与您描述的行为类似的控件,还可以在
网格
中定义行和列

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

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

您还可以设置
行定义的宽度

我认为您必须使用布局容器。但是,
Grid
也是一个布局容器。如果不想使用
堆栈面板
或任何其他与您描述的行为类似的控件,还可以在
网格
中定义行和列

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

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


您还可以设置
行定义的宽度

我认为您需要的是以下定义:

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


希望这能有所帮助。

我想您需要的是以下列定义:

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


希望这有帮助。

我认为这只是默认行为(重叠)。谢谢我认为这只是默认行为(重叠)。谢谢