【发布时间】:2014-08-14 14:36:26
【问题描述】:
我的 WP 7 应用程序中有一个列表框,其中每个项目都包含一个图像,这个列表框可以有很多项目,当前加载列表框时,所有图像都是从网络下载的。 我只想显示当前在屏幕上可见的图像,而其他图像仅在它们可见时加载(当用户向下滚动到这些图像时)。 有什么想法我该怎么做?
【问题讨论】:
标签: windows-phone-7
我的 WP 7 应用程序中有一个列表框,其中每个项目都包含一个图像,这个列表框可以有很多项目,当前加载列表框时,所有图像都是从网络下载的。 我只想显示当前在屏幕上可见的图像,而其他图像仅在它们可见时加载(当用户向下滚动到这些图像时)。 有什么想法我该怎么做?
【问题讨论】:
标签: windows-phone-7
如果你使用ListBox,那么你只能在item被绑定时才开始下载,然后通过钩子到CleanUpVirtualizedItem方法http://msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingstackpanel.cleanupvirtualizeditemevent(v=VS.95).aspx释放图像引用
或者看看 LongListSelector - 它有非常棒的 Linked/Unlinked 钩子,可以在显示或不再显示项目时通知您,以便您可以动态卸载/加载图像。
在列表中加载图像以在屏幕上显示是一门艺术 - 您应该在后台线程中进行加载,在列表滚动时暂停下载等This blog post 是一个好的开始。
【讨论】: