【发布时间】:2015-03-02 08:17:22
【问题描述】:
我在 PivotItem 中有一个 ListView,我的数据透视表包含 3 个数据透视表项。每个 Piovt 项都包含 ListView。我想在用户更改枢轴项向左/向右滑动时禁用所有 ListViews 的滚动。目前,在向左/向右滑动时,枢轴项目处于更改模式,并且我的 ListView 也会滚动。我已经尝试过 ManipulationStarted 和 ManipulationCompleted 事件,但它不起作用?有没有办法做到这一点?我想要的是与 WP 8.1 电子邮件应用程序相同的行为,向左/向右滑动会禁用列表视图滚动。
<Pivot Grid.Row="1">
<PivotItem Margin="0" >
<PivotItem.Header>
<TextBlock Text="web" />
</PivotItem.Header>
<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Margin="19,0,19,15"
Style="{StaticResource PhoneAccentTextSmallStyle}"
Visibility="{Binding CountryFacetCurrentlyShowing,Converter={StaticResource empltyStringToVisibilityConverter}}"
Text="{Binding CountryFacetCurrentlyShowing}"></TextBlock>
<!-- Search List Items -->
<ListView Grid.Row="2" x:Name="grdSearchResults" Width="{Binding ElementName=searchView,Path=ActualWidth}" ItemsSource="{Binding SearchedMembers}"
Visibility="{Binding ElementName=btnGridView,Path=IsEnabled,Converter={StaticResource boolToVisibiliytConverter}}"
LayoutUpdated="grdSearchResults_LayoutUpdated"
SelectedItem="{Binding SelectedMember,Mode=TwoWay}"
SelectionMode="{Binding ListViewMode}"
ItemTemplate="{Binding ItemTemplate}"
ItemContainerStyle="{StaticResource ListViewItemStyle99}">
</ListView>
<!-- Search Grid Items -->
<GridView Grid.Row="2" x:Name="grdSearchResults1" Width="{Binding ElementName=searchView,Path=ActualWidth}" ItemsSource="{Binding SearchedMembers}"
Visibility="{Binding ElementName=btnListView,Path=IsEnabled,Converter={StaticResource boolToVisibiliytConverter}}"
Margin="13,0,13,0" SelectedItem="{Binding SelectedMember,Mode=TwoWay}"
LayoutUpdated="grdSearchResults_LayoutUpdated"
SelectionMode="{Binding ListViewMode}"
ItemContainerStyle="{StaticResource GridViewItemStyle99}"
ItemTemplate="{StaticResource SearchGridItemDataTemplate}">
<!--<GridView.ItemContainerStyle>
<Style TargetType="GridViewItem">
<Setter Property="HorizontalContentAlignment" Value="{Binding DataContext.ItemWidth, Mode=OneWay, ElementName=searchView}"></Setter>
</Style>
</GridView.ItemContainerStyle>-->
</GridView>
<TextBlock Margin="19,10" Text="No matches found." FontSize="16" x:Name="lblNoConten" Foreground="DarkGray" Visibility="{Binding NoContentVisibility}"></TextBlock>
</Grid>
</PivotItem>
<PivotItem Margin="0">
<PivotItem.Header>
<TextBlock Text="local" />
</PivotItem.Header>
</PivotItem>
</Pivot>
【问题讨论】:
-
我试图重现您的问题,但我不能。对我来说,ListView 已经如你所愿。更改 Pivot 页面时无法滚动它。我已经记录了:youtu.be/dq3OWsKBqp8
-
谢谢@ŁukaszRejman 我看不到你的视频。但是要重现它,请在 ListView 上向右/向左滑动,但不要松开手指/鼠标,而不是向上/向下移动手指,listview 将滚动。 PS我正在开发通用应用程序。
-
这就是我所做的。查看视频。滑动 Pivot 时无法滚动 ListView。
-
无法观看您的视频。它总是加载:(
-
GIF 怎么样? :D makeagif.com/i/yXpl4j 如你所见,我试图滚动 ListView,但我不能。
标签: xaml windows-phone-8.1 winrt-xaml win-universal-app