gpt4 book ai didi

c# - WPF Stackpanel 与其他元素重叠

转载 作者:太空宇宙 更新时间:2023-11-03 12:41:55 27 4
gpt4 key购买 nike

基本上就是标题所说的。堆栈面板与菜单重叠,我不知道为什么。这是 XAML。

    <Grid>
<Menu x:Name="menu" HorizontalAlignment="Left" Height="25" VerticalAlignment="Top" Width="592"/>
<StackPanel x:Name="LOCATIONS" HorizontalAlignment="Left" Margin="0,25,0,0" VerticalAlignment="Top" Height="294" Width="200" Background="LightGray"/>

</Grid>
</Window>

Program

最佳答案

之所以这样,是因为Grid是一个容器。如果您将元素添加为子元素,它们将相互重叠,最后一个子元素总是在最上面。

您需要做的是在您的 Grid 中使用 Rows,以便每个子元素都有自己的专用区域。

<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Menu x:Name="menu" Grid.Row="0" Height="25" />
<StackPanel x:Name="LOCATIONS" Grid.Row="1" HorizontalAlignment="Left" Width="200" Background="LightGray"/>
</Grid>

以上代码允许您删除不必要的HeightsAlignments

您也可以使用 DockPanel 来达到同样的效果。

<DockPanel LastChildFill="True">
<Menu x:Name="menu" DockPanel.Dock="Top" Height="25" />
<StackPanel x:Name="LOCATIONS" HorizontalAlignment="Left" Width="200" Background="LightGray"/>
</DockPanel>

关于c# - WPF Stackpanel 与其他元素重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38671123/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com