wpf - 水平列表框项目垂直布局

标签 wpf xaml layout 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 不是我想要的 Top。

有谁能够帮助我?

最佳答案

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

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

关于wpf - 水平列表框项目垂直布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1725493/

相关文章:

c# - 转换后不需要的按钮调整大小

.net - 如何隐藏功能区控件的上下文菜单

c# - WPF Expander 在用户交互后忽略数据绑定(bind)

.net - 如何将此 StackPanel 用作资源

layout - Webmatrix 布局——插入到头部?

templates - Cakephp 3 中的布局?

c# - 在 wpf 中用 < 字符重命名按钮

c# - uwp 如何一次调整模板项目源中项目的大小?

CSS显示三栏内容

wpf - TextBlock 填充垂直空间