xaml 查看器中的列表框与程序 window 中的列表框不同
Listbox looks different in xaml viewer than in the program window
我正在开发一个 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>
这会在设计中给出以下输出 window
您可以忽略左侧的按钮。
如您所见,标签就在列表框的顶部。
现在,当我打开我的程序时,window 使列表框看起来像是在顶部
标签的。
我尝试了很多重新排列 XAML-代码以不同方式显示它,但这个问题仍然存在,虽然我可以通过使用对设计者来说太大的值来绕过它,但它仍然困扰我,我找不到解决方案。
另外请记住,我的程序不能调整大小,所以不用担心。
感谢您的回答!
您可以将 Label 和 ListBox 放在另一个 Panel (StackPanel) 中,并在外部 Grid 中对齐该 Panel:
<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>
这样即使 window 调整了大小,两个元素也会位于中间列的中心。
我正在开发一个 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>
这会在设计中给出以下输出 window
您可以忽略左侧的按钮。 如您所见,标签就在列表框的顶部。
现在,当我打开我的程序时,window 使列表框看起来像是在顶部 标签的。
我尝试了很多重新排列 XAML-代码以不同方式显示它,但这个问题仍然存在,虽然我可以通过使用对设计者来说太大的值来绕过它,但它仍然困扰我,我找不到解决方案。
另外请记住,我的程序不能调整大小,所以不用担心。
感谢您的回答!
您可以将 Label 和 ListBox 放在另一个 Panel (StackPanel) 中,并在外部 Grid 中对齐该 Panel:
<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>
这样即使 window 调整了大小,两个元素也会位于中间列的中心。