【问题标题】:Bind image from isolated storage and application directory从隔离存储和应用程序目录绑定图像
【发布时间】:2013-01-14 04:23:32
【问题描述】:

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

非常感谢!

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

【问题讨论】:

    标签: vb.net windows-phone-7 listbox isolatedstorage


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:
      1. 是的,你最好把它们复制到统一位置。
      2. 为了什么?仅显示来自 IsolatedStorage 的图像。初始图像被复制到那里,新图像从互联网上下载并放到IsolatedStorage(当然你必须编写这段代码)。

      【讨论】:

        猜你喜欢
        • 2011-05-06
        • 2011-12-28
        • 1970-01-01
        • 2012-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多