C# WPF网格与HTML Div,是否可以防止控件重叠?
在WPF中,我有一个简单的网格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(我知道,比较苹果和橙子)
<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>
希望这有帮助。我认为这只是默认行为(重叠)。谢谢我认为这只是默认行为(重叠)。谢谢