如何在Windows Phone中实现水平图库

时间:2015-02-24 16:20:54

标签: c# windows-phone windows-phone-8.1

我想实现一个带水平滚动的图库。根据用户的不同,图库中的项目数量可能非常高。

我已尝试将项目添加到FlipView:

<FlipView>
    <Image Source="Assets/Logo.png" />
    <Image Source="Assets/Logo.png" />
    <Image Source="Assets/Logo.png" />
</FlipView>

行为正确但由于图片库可能包含大量图片,Guidelines for flip view controls表示

Don't use a flip view control for large collections. 
The repetitive motion of flipping through each item becomes tedious for users

翻转虽然每个项目都是我想要的,但我想如果我有一个包含1000个项目的FlipView可能会有问题。

如何正确实现?

完整答案将获得赏金

2 个答案:

答案 0 :(得分:2)

您考虑过ISupportIncrementalLoading吗?我从未在FlipView中实现它,但它适用于ListView,并且它们与ItemSource中的项集合具有相同的行为。 Here您可以查看实施它的示例。

答案 1 :(得分:1)

我刚刚为Windows商店编写了一个类似的应用程序(预通用应用程序)和手机版本差别不大。要实现最佳用户体验,您应该有两个控件,如用户可以在其间切换的GridView和FlipView。对于GridView,您应该实现ISupportIncremental加载,以便可以在组中加载新的缩略图。对于FlipView,我只是听取SelectionChanged事件并在翻转方向上预加载一个或两个以上的图像(并从列表的另一端卸载相同数量的图像)。在图像加载时显示进度环也是一个好主意,以防它们连接速度很慢。