当前位置:编程学习 > C#/ASP.NET >>

wpf ListBox图片预加载的问题? 求思路

最近公司有个项目涉及到大量图片的加载和显示的问题

如果软件启动后一次性加载所有图片的话,很容易在UI这部分卡住,造成不好用户体验,而且如果在加载未完成的情况下强行对软件进行其他操作可能导致软件崩溃.(使用Listbox作为图片显示的容器,一个ListBoxItem对应一张图片,图片的大小事不固定的,有几M也有几K的,ListBox使用的panel为WrapPanel )

目前我自己的做法是,加载的时候使用多线程将所有图片加载到一个集合容器中(容器支持Notify),然后通过Dispathcer实现UI同步显示,但是当图片量过大的时候还是会出现软件被卡住的问题

在网上找了些资料说使用数据虚拟化技术可以实现,所有重写了WrapPanel,继承VirtualizingPanel,然后替换了listBox默认的panel,但是效果还不是很好.


听过可以做预加载,有相关参考资料吗??谁能给我点思路哈 --------------------编程问答-------------------- 减少一次显示的图片数,采用翻页不要用滚动条,每一次除了显示当前页外用后台先处理好前后页面,已经显示过的图片就不要释放掉线保存起来,用空间换时间的思想,不知可以否 --------------------编程问答-------------------- UI Virtualization
看我blog吧,http://nonocast.cn/?s=Virtualization
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,