我正在将旧的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>
总是足够长。
通过查看文档,对于Pivot和ListView,我没有看到任何与滚动方向或禁用相关的属性。
有关如何在<Pivot>
上仅允许<ListView>
上的水平滚动和垂直滚动的任何想法?
答案 0 :(得分:2)
在Universal App Live Chat Support的帮助下,我发现我需要添加ScrollViewer.IsVerticalRailEnabled="True"
附加属性。
我的代码现在是......
<ListView x:Name="todayschapter" ItemsSource="{Binding}" ScrollViewer.IsVerticalRailEnabled="True">
<Pivot>
水平滚动,<ListView>
垂直滚动。