2

我有一个ListView,我只是用水平模式的一个替换了ItemsPanel模板,如下所示:StackPanel

<ListView.ItemsPanel>
    <ItemsPanelTemplate>
        <VirtualizingStackPanel Orientation="Horizontal" />
    </ItemsPanelTemplate>
</ListView.ItemsPanel>

但是,这些项目不会超出屏幕的右侧,因此实际上没有任何方向的滚动。

我从 //build/ 会话中复制了代码,所以我错过了什么?

4

2 回答 2

11

您错过了这样的滚动查看器的配置:

<ListView
   ScrollViewer.HorizontalScrollBarVisibility="Auto"
   ScrollViewer.HorizontalScrollMode="Enabled"
   ScrollViewer.VerticalScrollMode="Disabled" 
   ... > ...
于 2013-07-16T10:25:02.333 回答
1

这是您的解决方案。不需要对 ScrollViewer 进行任何更改。默认值有效:

1)垂直滚动:

    <ListView.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapGrid MaximumRowsOrColumns="2" Orientation="Horizontal" />
        </ItemsPanelTemplate>
    </ListView.ItemsPanel>  

2)水平滚动:

<ListView.ItemsPanel>
    <ItemsPanelTemplate>
        <<ItemsWrapGrid/>
    </ItemsPanelTemplate>
</ListView.ItemsPanel>

问候娟璐

于 2014-09-20T14:57:17.013 回答