このリンクで非常に便利なクラスを見つけました: images caching - 画像をキャッシュするためのロジックを作成するのに役立ちます。しかし、私の場合、私はこれを持っています:
private void DetailView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
SaveAndLoadImage(feedItem);
}
そして、この方法では、分離ストレージから画像を保存してロードします。しかし、何らかの権限があるため、すぐにファイルをロードできません(IsolatedStorageFileStreamでの操作は許可されていません)。ロジックを修正して画像をすぐに保存およびロードするにはどうすればよいですか?
public void SaveAndLoadImage(MediaItemViewModel curItem)
{
string url = string.Empty;
if (!string.IsNullOrEmpty(curItem.ThumbUrl))
{
url = curItem.ThumbUrl;
}
if ((string.IsNullOrEmpty(curItem.ThumbUrl)) && (!string.IsNullOrEmpty(curItem.MediaUrl)))
{
url = curItem.MediaUrl;
}
if ((!string.IsNullOrEmpty(url)) && (CacheImageFile.GetInstance().IsOnStorage(new Uri(url)) == false))
{
CacheImageFile.DownloadFromWeb(new Uri(url));
}
curItem.ImageSource = CacheImageFile.ExtractFromLocalStorage(new Uri(url)) as BitmapImage;
}