2016-05-23 2 views
0

を使用してBorderのプロパティを設定しています。 ImageSourceは、ContactオブジェクトのImageUriプロパティにバインドされています。ImageSourceバインディングキャッシュImage

<Border> 
    <Border.Background> 
     <ImageBrush ImageSource="{Binding ImageUri, Mode=OneWay}" AlignmentX="Center" AlignmentY="Center" Stretch="UniformToFill"/> 
    </Border.Background> 
</Border> 

私はAzure Blobストレージを使用して画像を保存していますが、正常に動作しています。ただし、すでに画像が設定されている連絡先の画像を更新すると、私のImageBrushは変更を表示しません。私はアプリを再起動しようとしましたが、それは違いはありません。 URLからダウンロードしようとすると、画像が確実に更新され、新しい画像が得られます。また、私がアプリを再インストールすると、新しい画像が正しく表示されます。だから、アプリケーションが自動的に古い画像をキャッシングし、新しい画像の代わりにその画像を表示しているように見えます。 (私はすでにこれを疑っていました。最初に画像を取得するのに少し時間がかかりましたが、それ以降は即座です)

この現象を防ぐ方法はありますか?

答えて

1

明示的にイメージをキャッシュしないように指示する必要があります。 ImageBrushを:

<ImageBrush AlignmentX="Center" AlignmentY="Center" Stretch="UniformToFill"> 
    <ImageBrush.ImageSource> 
     <BitmapImage CreateOptions="IgnoreImageCache" UriSource="{Binding ImageUri, Mode=OneWay}"/> 
    </ImageBrush.ImageSource> 
</ImageBrush> 

に変更しました。

関連する問題