在 aGridView
中,我对项目进行了模板化,因此该模板内的 Image 控件使用绑定(也尝试使用 BitmapImage)接收 Uri 以显示图片文件。它有效,但我无法删除这些文件,因为这些文件已被阻止。即使我清除了馈送的集合GridView.ItemsSource
,即使我调用GC.Collect()
,它们仍然被阻止。
感谢 Philip 的工作建议......当我使用 Converter 将 BitmapImage 提供给每个 Image 控件时,发现必须做一些特殊的事情才能使其工作,这里供将来参考:
InMemoryRandomAccessStream Ras = new InMemoryRandomAccessStream();
var archivo = CartoonsDownloader.FolderImagenes.GetFileAsync(TheFileName);
var fileStream = CartoonsDownloader.FolderImagenes.OpenStreamForReadAsync(TheFileName);
fileStream.Result.CopyTo(Ras.AsStreamForWrite());
BitmapImage MapaDeBits = new BitmapImage();
// Even it's RANDOM, I have to manually "Seek" it at 0.
Ras.Seek(0);
MapaDeBits.SetSource(Ras);
MapaDeBits.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
return MapaDeBits;