如何强制图像控件关闭它在wpf中打开的文件

我的wpf页面上有一个图像,它打开一个图像文件forms的硬盘。 用于定义图像的XAML是:

 

我正在使用Caliburn Micro,ImageFileName更新为图像控件应显示的文件名。

当图像通过图像控制打开时,我需要更改文件。 但该文件被图像控制锁定,我无法删除或复制任何图像。 如何在打开文件或我需要在文件上复制另一个文件时强制图像关闭文件?

我查了一下,图片没有CashOptio,所以我不能用它。

您可以使用如下所示的绑定转换器 ,通过设置BitmapCacheOption.OnLoad将图像直接加载到内存缓存。 文件立即加载,之后不锁定。

  

转换器:

 public class StringToImageConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { object result = null; string uri = value as string; if (uri != null) { BitmapImage image = new BitmapImage(); image.BeginInit(); image.CacheOption = BitmapCacheOption.OnLoad; image.UriSource = new Uri(uri); image.EndInit(); result = image; } return result; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotSupportedException(); } }