WPF中删除打开过的图片

2021-05-07 09:29

阅读:652

标签:wpf   一个   打开   nload   这一   解决   .com   html   ref   

原文:WPF中删除打开过的图片

在WPF中,当我们删除打开过的图片时,往往会遇到"...无法删除,文件正在被另一个进程使用"的异常。即使当前文件是打开后关闭过的也不行。

这个问题的原因很简单,是因为WPF的缓存策略导致图片被锁定了,解决的方式不是用默认的ImageSource的构造方法,改用如下方式:

????ImageSource getImage(string file)
????{
????????var bmp = new BitmapImage();
????????bmp.BeginInit();
????????bmp.CacheOption = BitmapCacheOption.OnLoad;????????//
这一行很重要
????????bmp.UriSource = new Uri(file);
????????bmp.EndInit();

????????return bmp;
????}

上一篇:c# Tuple新特性

下一篇:C#Color颜色表


评论


亲,登录后才可以留言!