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