XAML ListView в Pivot позволява диагонално превъртане

Преобразувам старото си приложение за Windows Phone 7 в универсално приложение за Windows 10 и една функционална промяна ме дразни.

Моето старо приложение беше изцяло фонова логика, която изтласкваше съдържание към потребителския интерфейс (лошо за поддръжка и други подобни) и искам да започна да разделям тези проблеми.
Преди това имах <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> обаче винаги е достатъчно дълго.

Като прегледате документацията, за Pivot и ListView, не видях никакво свойство, свързано с посоката на превъртане или деактивирането.

Някакви идеи как да разрешите само хоризонтално превъртане на <Pivot> и вертикално превъртане на <ListView>?


person doubleJ    schedule 22.05.2015    source източник


Отговори (1)


С помощта на Universal App Live Chat Support , открих, че трябва да добавя прикаченото свойство ScrollViewer.IsVerticalRailEnabled="True".

Моят код е сега...

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

<Pivot> се превърта хоризонтално, а <ListView> се превърта вертикално.

person doubleJ    schedule 22.05.2015