我有水平ListBox。这是代码(删除一些不相关的):
<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不是我想要的。
有人能帮助我吗?
答案 0 :(得分:5)
HorizontalAlignment和VerticalAlignment指的是StackPanel在其父容器中的对齐方式。
您可能需要查看ItemContainerStyle,将VerticalAlignment设置为Stretch(以便ListBoxItem占据ListBox的整个高度),VerticalContentAlignment设置为Top(以便ListBoxItem的内容与顶部对齐) (ListBoxItem)。