2

在我的 WP7 应用程序中,我有一个包含图像的列表框。我在我的应用程序中包含了几个图像,但如果找不到图像,则应从 Internet 检索它,然后当然将其存储在独立存储中。现在我有 1-2 个问题:1)在初始应用程序启动时,我是否应该将所有图像复制到独立存储中,以便独立存储包含所有图像(因此应用程序图像文件夹中的图像可用两次:在应用程序图像目录和隔离存储)?2) 列表框中是否可以在一种情况下显示来自 IsoloatedStorage 的图像,另一种情况下来自应用程序文件目录?

非常感谢!

欢迎使用 PS 代码示例,尤其是在 vb.net 中。

4

2 回答 2

1

1 - 不。为什么要浪费时间和存储空间?

2 - 可能的解决方案 - 编写一个实现 IValueConverter 的类。在您的 Convert 方法中,如果值为 Uri,且 IsAbsoluteUri=true 且 Scheme="isostore",您从独立存储中读取文件,并返回 BitmapImage,如此处所述。否则,您只需从 Convert 方法返回未转换的值。并且,您在绑定中指定您的转换器。

抱歉,我没有要分享的代码示例。

PS 对于您的任务,我推荐一个名为“ Kawagoe Toolkit ”的 3-rd 方库。唯一的缺点是许可证要求您在“关于”页面中提及它们。如果使用 Kawagoe,您可以只定义一个属性“imageSource”返回对象,并返回来自资源/XAP 的图像的 Uri,或者延迟加载从 Kawagoe 的 ImageCache.Default.Get() 方法获得的 ImageSource 对象,该方法最终会从要么是互联网的孤立商店。他们已经拥有您需要的下载和缓存代码。

于 2013-01-13T20:23:32.930 回答
0
  1. 是的,你最好复制它们以统一位置。
  2. 做什么的 ?仅显示来自 IsolatedStorage 的图像。初始图像被复制到那里,新图像从互联网上下载并放到IsolatedStorage(当然你必须编写这段代码)。
于 2013-01-12T10:09:15.287 回答