在Windows8Metro(WinRT)和C#/XAML中,什么';实现流动项结果(即连续分页)的最佳实践是什么?

在Windows8Metro(WinRT)和C#/XAML中,什么';实现流动项结果(即连续分页)的最佳实践是什么?,c#,xaml,microsoft-metro,windows-runtime,C#,Xaml,Microsoft Metro,Windows Runtime,我正在用C#/XAML编写一个windows8metro应用程序 核心函数之一是调用JSON API并显示缩略图结果。我已经做到了,但是JSON API是一个基于页面的API,所以我可以获取第一页的25个结果,下一页的25个结果,依此类推。在一些查询中,有成千上万的结果,我希望用户能够以流的方式浏览它们 实现连续结果的最佳实践方法是什么,我向右或向下滑动,它会自动填充,类似于在Pinterest上查看图像 是否有专门的控件来执行此操作,或者我是否嵌入了某种侦听器控件并观察其可见状态,或者其他什么

我正在用C#/XAML编写一个windows8metro应用程序

核心函数之一是调用JSON API并显示缩略图结果。我已经做到了,但是JSON API是一个基于页面的API,所以我可以获取第一页的25个结果,下一页的25个结果,依此类推。在一些查询中,有成千上万的结果,我希望用户能够以流的方式浏览它们

实现连续结果的最佳实践方法是什么,我向右或向下滑动,它会自动填充,类似于在Pinterest上查看图像


是否有专门的控件来执行此操作,或者我是否嵌入了某种侦听器控件并观察其可见状态,或者其他什么?谢谢你的帮助

创建一个列表框,并将其ItemPanel设置为水平排列的StackPanel。然后将ListBox的ItemsSource绑定到一个ObservableCollection,它可以保存您的缩略图。编写一个用于填充此ObservableCollection的函数,并使用Dispatcher.BeginInvoke从某个位置异步调用此函数。

您的集合需要实现ISupportIncrementalLoading。处理此场景的策略已从开发人员预览更改。我在消费者预览中找不到任何使用此接口的示例,但有一个示例针对的是上的开发者预览。

如果您的问题不是有很多加载的项,那么您可以在JSON API上查询结果总数,然后创建所有项,并异步调用填充其数据的加载方法

这将为您提供空分幅,直到加载数据,并将逐步显示越来越多的分幅

一个列表框中的几千项应该可以完美地工作


我看过一个1000的演示,没有问题。

但是我如何无缝地(适当地)加载第二、第三和第四页的结果?听起来反应式扩展可能会有所帮助?也许解决方案包括将项插入列表控件,然后在加载的列表中添加75%的标记链接,并在UIElement上查看其IsVisibleChanged事件@WinRT中不存在user61307 IsVisibleChanged