刷新同名图像

时间:2014-02-06 14:56:40

标签: windows-phone-8

我在WP8上有应用程序,它包含从服务器加载的图像。图片在服务器上正在更改,但具有相同的名称和相同的URL。更改后,手机仍然显示以前的图片。如何解决这个问题。

2 个答案:

答案 0 :(得分:0)

这是由于内置的​​资源缓存,它会影响远程请求以及应用程序中本地映像资源的请求。声明图像控制标记时,可以通过手动创建其源属性来禁用缓存。例如:

<Image>
    <Image.Source>
        <BitmapImage UriSource="{Binding ContentPath}"
                     CreateOptions="IgnoreImageCache" />
    </Image.Source>
</Image>

答案 1 :(得分:0)

好吧,手机会缓存下载的图像。如果您想设置新图像,则必须“清理”图像源。你的问题没有给我inave信息,但从我的理解,一个简单的转换器应该做的伎俩:

 public class CacheImageConverter : IValueConverter
    {       
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
         {
            string path = value as string;
            Uri imageFileUri = new Uri(path, UriKind.Absolute);
            BitmapImage bm = new BitmapImage(imageFileUri);
            return bm;
          }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
             throw new NotImplementedException();
        }
    }

<强> XML

<phone:PhoneApplicationPage.Resources>
    <imgConv:CacheImageConverter x:Key="ConvertNew" />
</phone:PhoneApplicationPage.Resources>

...

<Image Source="{Binding strPath, Converter={StaticResource ConvertNew}}"/>