我有一个WPF应用程序,它有一个包含图像列表的列表框,然后是一个滚动容器内的图像。当用户单击列表框中的项目时,它会切换图像源。我正在使用非常大的分辨率图像,最高可达10k x 10k。应用程序可以毫无问题地加载第一张高分辨率图像,甚至可以切换到分辨率较低的图像。但是当您尝试加载新的高分辨率图像时,图像会变为空白。但是,当您单击先前加载的第一个高分辨率图像时,它看起来很好。
我认为它存在内存/缓存问题,但我不确定在加载新映像之前我需要做些什么来从旧映像中释放内存/缓存。
以下是我设置源代码的方法:
String fileLocation = ... ;
ImageSourceConverter sc = new ImageSourceConverter();
img_Map.Source = (ImageSource)sc.ConvertFromString(fileLocation);
有什么想法吗?