我想要做的是使用预加载的图像动态填充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