水平ListBox项垂直布局

时间:2009-11-12 21:18:55

标签: wpf xaml layout listbox

我有水平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>

                                                                                                                       
                
            
                          

我得到的项目布局行为如下: http://www.freeimagehosting.net/uploads/cf4f839d02.png]

如您所见,第二项较小,VerticalLayout不是我想要的。

有人能帮助我吗?

1 个答案:

答案 0 :(得分:5)

Horizo​​ntalAlignment和VerticalAlignment指的是StackPanel在其父容器中的对齐方式。

您可能需要查看ItemContainerStyle,将VerticalAlignment设置为Stretch(以便ListBoxItem占据ListBox的整个高度),VerticalContentAlignment设置为Top(以便ListBoxItem的内容与顶部对齐) (ListBoxItem)。