Windows Phone 8.1 WinRT 中 GridView 与 FlipView 的动态分页
Dynamic Paging of GridView with FlipView in Windows Phone 8.1 WinRT
这是我的情况:
我有一个 ObservableCollection<Item>
我想在 GridView 中显示动态长度。
GridView 应在 FlipView 内分页,每页显示六个项目。
最好的方法是什么?我是手动将 ObservableCollection 拆分为子集合 ObservableCollection<ObservableCollection<Item>>
还是有更优雅的解决方案?
这是我的 XAML 目前的样子:
<FlipView x:Name="DashboardFlipView">
<FlipView.ItemTemplate>
<DataTemplate>
<GridView ItemsSource="{Binding}">
<GridView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</DataTemplate>
</FlipView.ItemTemplate>
</FlipView>
您的解决方案很简单而且行之有效,所以请随意这样做。
从技术上讲,为了使其更优雅,您可以使用特殊的 GridView 控件(或编写行为)为每个 2x3 网格添加强制性水平捕捉点。为了获得完整的 FlipView 感觉,您可以手动添加与内部滚动查看器交互的 next/prev 按钮。
这是我的情况:
我有一个 ObservableCollection<Item>
我想在 GridView 中显示动态长度。
GridView 应在 FlipView 内分页,每页显示六个项目。
最好的方法是什么?我是手动将 ObservableCollection 拆分为子集合 ObservableCollection<ObservableCollection<Item>>
还是有更优雅的解决方案?
这是我的 XAML 目前的样子:
<FlipView x:Name="DashboardFlipView">
<FlipView.ItemTemplate>
<DataTemplate>
<GridView ItemsSource="{Binding}">
<GridView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</DataTemplate>
</FlipView.ItemTemplate>
</FlipView>
您的解决方案很简单而且行之有效,所以请随意这样做。
从技术上讲,为了使其更优雅,您可以使用特殊的 GridView 控件(或编写行为)为每个 2x3 网格添加强制性水平捕捉点。为了获得完整的 FlipView 感觉,您可以手动添加与内部滚动查看器交互的 next/prev 按钮。