Windows phone 7 在WindowsPhone7中虚拟化数据:一个示例

Windows phone 7 在WindowsPhone7中虚拟化数据:一个示例,windows-phone-7,data-virtualization,Windows Phone 7,Data Virtualization,在Windows Phone中,列表框支持数据的虚拟化,这意味着它只能加载所需的数据,而不能加载所有数据。Peter Torr是您需要实现的接口 简短的版本是,您必须创建一个返回元素位置的方法和另一个返回特定位置元素的方法。问题是Peter Torr的例子相当愚蠢,他只返回一个以索引作为名称的对象 我的问题是:您实际上如何实现这一点 我的想法是创建一个包含整数索引和整数id列表的文件,并为每个包含实际数据的对象创建一个文件。这似乎不是一个很好的主意,但我想不出比这更好的了,你呢 更新 我的问题似

在Windows Phone中,列表框支持数据的虚拟化,这意味着它只能加载所需的数据,而不能加载所有数据。Peter Torr是您需要实现的接口

简短的版本是,您必须创建一个返回元素位置的方法和另一个返回特定位置元素的方法。问题是Peter Torr的例子相当愚蠢,他只返回一个以索引作为名称的对象

我的问题是:您实际上如何实现这一点

我的想法是创建一个包含整数索引和整数id列表的文件,并为每个包含实际数据的对象创建一个文件。这似乎不是一个很好的主意,但我想不出比这更好的了,你呢

更新

我的问题似乎不准确。当我说彼得·托尔的例子相当愚蠢时,我并不是说他做错了什么;他的目标只是解释您需要实现什么接口。实际实施将取决于具体数据


我想问的是,要实现这一点,我有什么选择?我是否应该简单地将数据放在web服务上,并每次使用本地缓存进行查询,当然,构建一个数据库,创建一个存储索引的文件,以及一个用于数据的文件?在每种情况下都有足够好的解决方案吗?每种选择的优缺点是什么?

您链接的文章包含了一个演示如何实现这一点的示例。

您还想要什么?一般的想法是,当ListBox需要数据时,它将调用IList。它将在特定索引处请求一个项,然后您传回一个对象。然后,它可能会调用该对象上的ToString并在列表中显示结果


实际的物体是什么,从哪里拉出来完全取决于你。您可能在内存中使用了一个非常大的数组。您可能正在从IsolatedStorage或web服务提取数据。您当然可以使用它来获取文件信息,但我不怀疑任何人都有现成的IList实现,因此这是您必须基于特定项目实现的部分。

实际上,它显示了如何实现所需的接口,而不是如何检索实际数据。在他的示例中,this[]返回一个包含无意义数据的项。在现实世界中,您需要真实的数据。这是因为示例不知道您要做什么来检索数据。这就是你的问题所在。仅供参考,你的问题似乎不是关于虚拟化,而是关于如何在设备上存储数据。如果是这样,你可以重新措辞。