我有水平列表框。这是它的代码(删除了一些不相关的):
<ListBox Grid.Row="1"
ItemContainerStyle="{StaticResource ListBoxUnselectableItemStyle}"
ItemsSource="{Binding ...}"
BorderThickness="0"
Background="{x:Null}"
ScrollViewer.CanContentScroll="False">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"
VerticalAlignment="Top"
HorizontalAlignment="Center"
Background="Red"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
我得到项目的布局行为是这样的:
]
如您所见,第二项较小,而 VerticalLayout 不是我想要的 Top。
有谁能够帮助我?
最佳答案
HorizontalAlignment 和 VerticalAlignment 指的是 StackPanel 如何在其父容器中对齐。
您可能需要查看 ItemContainerStyle,在那里您将 VerticalAlignment 设置为 Stretch(以便 ListBoxItem 占据 ListBox 的整个高度),并将 VerticalContentAlignment 设置为 Top(以便 ListBoxItem 的内容与 ListBoxItem 的顶部对齐)。
关于wpf - 水平列表框项目垂直布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1725493/