C# 列表框在xaml查看器中的外观与在程序窗口中的不同

C# 列表框在xaml查看器中的外观与在程序窗口中的不同,c#,wpf,xaml,listbox,label,C#,Wpf,Xaml,Listbox,Label,我正在处理一个WPF应用程序,遇到了以下问题, 但直到现在都没有理会 我想在上面显示一个列表框和一个标签。 为此,我有以下XAML代码: <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>

我正在处理一个WPF应用程序,遇到了以下问题, 但直到现在都没有理会

我想在上面显示一个列表框和一个标签。 为此,我有以下XAML代码:

    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>

        <Label Grid.Column="1" Content="Packs" Margin="60, 65, 60, 0"/>
        <ListBox Grid.Column="1"  Height="200" Width="150"/>
    </Grid>

这将在设计窗口中提供以下输出

您可以忽略左侧的按钮。 正如您所看到的,标签就在列表框的顶部

现在,当我打开我的程序时,窗口使它看起来好像列表框在顶部 标签的名称

我尝试了很多重新排列XAML代码以不同的方式显示它,但这个问题仍然存在,尽管我可以通过使用对设计器来说太大的值来绕过它,但它仍然让我感到困扰,我找不到解决方案

另外,请记住,我的程序将无法调整大小,所以不要担心这一点


谢谢你的回答

您可以将标签和列表框放在另一个面板(StackPanel)中,并将该面板与外部网格对齐:

<Grid> 
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>

    <StackPanel Grid.Column="1" 
                Width="150" 
                VerticalAlignment="Center" 
                HorizontalAlignment="Center">
        <Label Content="Packs"/>
        <ListBox Height="200"/>
    </StackPanel>
</Grid>


这样,即使调整了窗口的大小,两个元素也将位于中间列的中心。

首先,您的第一个屏幕截图使您很难看到标签。第二:为什么不把标签和列表框放在stackpanel中?@greenjaed嗨,谢谢你的回复。有没有办法找出为什么它的大小如此奇怪?仅仅从你发布的代码是不可能的;复制和粘贴不会产生与您所观察到的相同的行为。很明显,从你的屏幕截图来看,你对布局的影响不仅仅是一个有三列的网格。你需要发布一个