我有一个列表框的图像,我从我的图片目录中以编程方式添加。我希望能够将图像放在目录中,UI会自动显示它。我还希望能够从目录中删除照片并进行UI更新,但问题是应用程序正在使用图像,因此我无法从目录中删除图像。有没有办法解锁文件,以便我可以重命名和删除目录中的文件?
答案 0 :(得分:5)
您使用的是像Image Source = {Binding FilePath}这样的数据绑定吗?如果是这样,您需要使用CacheOption = BitmapCacheOption.OnLoad加载图像,您可以使用ValueConverter以声明方式执行此操作,如下所示:
http://soulsolutions.com.au/wpf-reference-an-image-without-a-file-lock/
答案 1 :(得分:2)
使用Image.FromFile加载图像吗?我很久以前就注意到了这种行为。尝试使用File.Open打开文件,使用Image.FromStream加载图像,然后关闭流。