在WinRT Xaml中使用嵌套滚动查看器进行交叉幻灯片

时间:2013-04-15 16:12:06

标签: listview winrt-xaml scrollviewer

我正在构建一个需要垂直列表水平列表的应用程序

简化的XAML布局:

<ScrollViewer>
    <ItemsControl ItemsSource="{Binding Lists}">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <StackPanel Orientation="Horizontal"/>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <ListView ItemsSource="{Binding Items}"/>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
</ScrollViewer>

我无法正确接触互动。当前水平滑动水平移动整个列表,垂直移动单个列表的项目。但是,可以使用对角线滑动移动两个列表,并且不可能一次滚动多个垂直列表(它没有外部滚动查看器)。

有没有办法让所有水平滑动仅适用于外部滚动查看器,而所有垂直滑动仅适用于内部列表视图?

1 个答案:

答案 0 :(得分:1)

如果您在两个ScrollViewers上设置IsHorizontalRailEnabled / IsVerticalRailEnabled属性,则可能会获得所需的效果。

您还可以在ScrollViewer.IsHorizontalRailEnabled或[{1}}上GridView设置ScrollViewer.IsVerticalRailEnabled之类的内容,而无需提取模板即可访问其ListView