Vb.net 从独立存储和应用程序目录绑定映像

Vb.net 从独立存储和应用程序目录绑定映像,vb.net,windows-phone-7,listbox,isolatedstorage,Vb.net,Windows Phone 7,Listbox,Isolatedstorage,在我的WP7应用程序中,我有一个包含图像的列表框。我在我的应用程序中包含了几个图像,但如果没有找到图像,则应该从internet检索图像,然后将其存储在独立的存储器中。现在我有1-2个问题: 1) 在初始应用程序启动时,是否应将所有图像复制到IsolatedStorage中,以便隔离存储包含所有图像(因此,应用程序的images文件夹中的图像可供使用两次:在应用程序图像目录中和在隔离存储中)? 2) 是否可以在列表框中一种情况下显示来自孤立存储的图像,另一种情况下显示来自应用程序文件目录的图像

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

非常感谢

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

  • 是的,你最好把它们复制到统一的位置
  • 为什么?只需显示来自隔离存储的图像。最初的图像被复制到那个里,新的图像从互联网上下载并放入隔离存储(当然你们必须写这段代码)

  • 1-否。为什么要浪费时间和存储

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

    很抱歉,我没有代码示例可供分享

    另外,对于你的任务,我推荐一个名为“”的第三方库。唯一的缺点是许可证要求您在“关于”页面中提及它们。如果使用Kawagoe,您可以只定义一个属性“imageSource”返回对象,并从resources/XAP返回图像的Uri,或延迟从Kawagoe的ImageCache.Default.Get()方法获得的已加载imageSource对象,该方法最终将从Internet的任一独立存储中加载自身。他们已经有了您需要的下载和缓存代码