我想要做的是使用預加載的圖像動態填充Windows 8 Metro應用程序中的ListView。如何在基於Windows 8 Xaml的ListView中禁用緩存?
爲我做它平原這樣的(C++)代碼的簡單的每個項目(URI):
Windows::UI::Xaml::Media::Imaging::BitmapImage^ bitmapSrc =
ref new Windows::UI::Xaml::Media::Imaging::BitmapImage();
bitmapSrc->CreateOptions = Windows::UI::Xaml::Media::Imaging::BitmapCreateOptions::IgnoreImageCache;
bitmapSrc->UriSource = uri;
img->Source = bitmapSrc;
LoadListView->Items->Append(img);
但是當我刪除由URI和創建描述源圖像(該應用中)新文件具有相同的名稱,並嘗試將其重新加載到列表中,然後我失敗,並顯示的圖像是舊的(刪除)。我推測一些緩存在這裏工作。我試圖避免通過CreateOptions中的IgnoreImageCache值進行緩存,但它不起作用。
任何線索如何禁用可能綁定到Windows 8應用程序中的ListView的BitmapSource(圖像)的緩存?
我嘗試了一些受Silverlight和WPF啓發的方向,但都不幸工作。
對不起,我已經找到了答案。搜索引擎的棘手關鍵字是必要的。如果您有興趣對BitmapImage緩存問題的完整解答,請在此處進行說明:http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/171dfe66-78b5-4340-bd78-244337f31287/ –
On SO它是完全可以接受的(實際上鼓勵),如果你發現它,你可以發佈一個你自己問題的答案。 – mydogisbox