从独立存储向WP7列表框添加数百个映像,我如何利用数据虚拟化



我正试图通过"连续滚动"将图像添加到列表框中,这样用户就不必按下任何按钮等来加载下一组图像。图像存储在独立存储中。我将从500张图片开始。将500个图像加载到列表框显然不起作用,只会在几秒钟内消耗掉所有资源。根据我的研究,我需要使用数据虚拟化,以便在需要时(屏幕上)检索图像,在不需要时(在屏幕上)处理图像,而不是一次加载所有图像。我在网上搜索了一些例子,但只能找到根据IS中存储的图像检索和显示文本等的代码来填充列表框。我"相信"我需要在数据模板中的列表框中使用图像,然后使用自定义类绑定到IList。我可以将列表框绑定到一个基本的IList,这很好(只有50个图像),但当涉及到创建自定义类等时,我会不知所措。有人愿意分享我需要的东西吗?我还没有编程一年,我发现我的大多数应用程序要求都可以通过一点研究来实现,但我找不到任何好的页面或视频来解释这一确切的要求,这让我抓狂,因为我已经花了好几天的时间。

如果做不到这一点,我将不得不向Telerik支付他们的支持费,并使用他们的DataBoundListBox或支付第三方为我编写,但我想我会在放弃数百美元之前尝试一下!

感谢您提前抽出时间!

以下是数据虚拟化的正确实现:http://blogs.msdn.com/b/ptorr/archive/2010/08/16/virtualizing-data-in-windows-phone-7-silverlight-applications.aspx

这就是将图像绑定到图像控件的方式:image UriSource和Data Binding

要在Windows Phone 7上获得数据数据虚拟化,可以使用VirtualizingStackPanel类。在MSDN中,您可以找到您可能想要设置的所有属性。要使用您将列表放入此控件中的控件:

<VirtualizingStackPanel>
  <YOUR LIST>
</VirtualizingStackPanel>

既然你想有一个教程,我可以向你介绍Jevgeni Tšaikin关于ItemsControl虚拟化的博客文章。如果你想了解更多,请查看Shawn Oster关于改善ListBox性能的帖子。

最新更新