在我的WP7应用程序中,我有一个包含图像的列表框。我在我的应用程序中包含了几个图像,但如果找不到图像,则应从Internet检索,然后将其存储在独立存储中。现在我有1-2个问题: 1)在初始应用程序启动时,我应该将所有映像复制到IsolatedStorage中,以便隔离存储包含所有映像(因此应用程序的images-folder中的映像可用两次:在应用程序映像目录和隔离存储中)? 2)在列表框中是否可以在IsoloatedStorage和另一个应用程序文件目录中显示图像?
非常感谢!P.S。欢迎使用代码示例,尤其是在vb.net中。
答案 0 :(得分:1)
1 - 否。为什么要浪费时间和储存?
2 - 可能的解决方案 - 编写一个实现IValueConverter的类。在Convert方法中,如果值为Uri,IsAbsoluteUri = true且Scheme =" isostore",则从隔离存储中读取文件,并返回BitmapImage,as described here。否则,您只需从Convert方法返回未转换的值。并且,您在绑定中指定转换器。
抱歉,我没有代码示例可供分享。
P.S。对于您的任务,我建议使用名为" Kawagoe Toolkit"的第3方lib。唯一的缺点是许可证要求您在关于页面中提及它们。如果使用Kawagoe,你可以定义一个属性" imageSource"返回对象,并从资源/ XAP返回Uri以获取图像,或者从Kawagoe的ImageCache.Default.Get()方法返回延迟加载的ImageSource对象,该方法最终将从Internets的任何隔离存储中加载自身。他们已经拥有您需要的下载和缓存代码。
答案 1 :(得分:0)