wp 加载网络图片




  

  最近在做一个WP7的客户端,中间涉及到了从互联网上获取图片,而手机的无线网络其实很慢的(哪怕是联通的3G我也没感觉有多么快),所以缓存我想还是必不可少的吧。


  其实做在WP7上面做缓存很容易,直接上代码了:


<Image Height="150" Canvas.Left="8" Canvas.Top="8" Width="150" Source="{Binding PicID, Converter={StaticResource ImageConverter}, Mode=OneWay}"/> 


  图片Image控件主要就是Source属性的设置,绑定图片的ID,并且设置好Converter。



 
  }
 


  Converter中其实没什么太多内容,主要是把PICID传递给缓存类,下面是缓存代码:


public  class ImageCache

    {
         public  static Dictionary< string, ImageSource> ImageSources =  new Dictionary< string, ImageSource>();

         static ImageCache()
        {
            ImageSources.Add( ""new BitmapImage( new Uri(StaticResource.PathNoImage, UriKind.Relative))); 
        }

         public  static ImageSource GetImage( string imageId)
        {
             if (!ImageSources.ContainsKey(imageId))
            {
                ImageSource source =  new BitmapImage( new Uri(StaticResource.UrlPicture + imageId));
                ImageSources.Add(imageId, source);
            }

             return ImageSources[imageId];
        }
    }

  我的这个缓存只是在内存中开了一个Dictionary<string, ImageSource>来进行缓存的,当然大家有兴趣还可以使用隔离存储空间来存储图片。


ImageSource source = new BitmapImage(new Uri("图片的http地址")); 


  再补充一点:在mango里(之前版本没试过呢),从网络上获取图片不用很费劲的去写Http请求了,直接


ImageSource source = new BitmapImage(new Uri("图片的http地址")); 


  就可以啦。


  本文来自锦燕云的博客,原文地址:http://www.cnblogs.com/vistach/archive/2011/12/01/WP7_Image_Cache.html

转载于:https://my.oschina.net/caikezhan/blog/146420

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值