Pivot中的XAML ListView允许对角滚动

时间:2015-05-22 15:06:46

标签: xaml listview scroll win-universal-app

我正在将旧的Windows Phone 7应用转换为Windows 10 Universal应用,功能更改让我感到恼火。

我的旧应用程序是将内容推送到UI的所有后台逻辑(对可维护性等不利),我想开始分离这些问题。
以前,我有<StackPanel>,其中充满了一堆<TextBlock>。现在,我正在使用<ObservableCollection><ListView>。问题是<ListView><Pivot>范围内,它允许我对角滚动。对于用户而言,这非常令人困惑,而且看起来只是一种疏忽。

XAML:

    <Pivot x:Name="PhoneUi" Title="Daily Bible Reading">
        <PivotItem Header="Today's Chapter">
            <ListView x:Name="todayschapter" ItemsSource="{Binding}">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Margin="-10 0 0 16">
                            <TextBlock Text="{Binding Reference}" FontSize="16" FontWeight="SemiBold" TextWrapping="Wrap"/>
                            <TextBlock Text="{Binding Text}" FontSize="24" TextWrapping="Wrap"/>
                        </StackPanel>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
        </PivotItem>
        <PivotItem Header="Reading Schedule">
            <ListView x:Name="readingschedule" ItemsSource="{Binding}">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Margin="-10 0 0 16">
                            <TextBlock Text="{Binding Date}" FontSize="16" FontWeight="SemiBold" TextWrapping="Wrap"/>
                            <TextBlock Text="{Binding Chapter}" FontSize="24" TextWrapping="Wrap"/>
                        </StackPanel>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
        </PivotItem>
    </Pivot>

有趣的是,第二个<ListView>没有问题。它的内容不够长,无法实现垂直滚动。但是,第一个<ListView>总是足够长。

通过查看文档,对于PivotListView,我没有看到任何与滚动方向或禁用相关的属性。

有关如何在<Pivot>上仅允许<ListView>上的水平滚动和垂直滚动的任何想法?

1 个答案:

答案 0 :(得分:2)

Universal App Live Chat Support的帮助下,我发现我需要添加ScrollViewer.IsVerticalRailEnabled="True"附加属性。

我的代码现在是......

<ListView x:Name="todayschapter" ItemsSource="{Binding}" ScrollViewer.IsVerticalRailEnabled="True">

<Pivot>水平滚动,<ListView>垂直滚动。