在GridView
中,我模板化了这些项目,因此该模板中的Image控件使用绑定(也尝试使用BitmapImage)接收Uri以显示图片文件。它有效,但我无法删除这些文件,因为这些文件被阻止。即使我清除了收集GridView.ItemsSource
的集合,即使我拨打GC.Collect()
,它们仍会被屏蔽。
感谢Philip的工作建议......因为我使用转换器将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;