Windows 8 - 使用“水平项目”面板的ListView不会滚动

时间:2013-07-16 10:25:02

标签: xaml listview windows-store-apps winrt-xaml windows-store

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

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

然而,这些项目并没有超出屏幕的右侧,因此实际上没有向任何方向滚动。

我从// build / session中复制了代码,那么我错过了什么?

2 个答案:

答案 0 :(得分:11)

您错过了滚动查看器的配置,如下所示:

<ListView
   ScrollViewer.HorizontalScrollBarVisibility="Auto"
   ScrollViewer.HorizontalScrollMode="Enabled"
   ScrollViewer.VerticalScrollMode="Disabled" 
   ... > ...

答案 1 :(得分:1)

这是你的解决方案。无需更改ScrollViewer。默认值有效:

1)垂直滚动:

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

2)水平滚动:

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

此致 Juanlu