.net - 在 WPF 中加载后锁定的图像文件

标签 .net wpf image file locked

我正在像这样阅读我的 WPF 图像源:

VB

Dim bmi As BitmapImage = New BitmapImage
bmi.BeginInit
bmi.CacheOption = BitmapCacheOption.None
bmi.CreateOptions = BitmapCreateOptions.IgnoreImageCache
bmi.UriSource = New Uri(input.FullName, UriKind.Absolute)
bmi.EndInit

C#
BitmapImage bmi = new BitmapImage();
bmi.BeginInit();
bmi.CacheOption = BitmapCacheOption.None;
bmi.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
bmi.UriSource = new Uri(input.FullName,  UriKind.Absolute);
bmi.EndInit();

到目前为止,它应该像它应该的那样工作。
但是用户可以通过复制文件来更新图像。
然后我想刷新图像。但是文件“MyFileName”被锁定,当我想覆盖它时,它会抛出一个错误,表明它已经在使用中并被锁定。

但是等等,我在这里搜索了一个解决方案,我得到了它:
bmi.cachoption = OnLoad

是关键……但是!!现在,图像始终是旧图像,不会更新为新文件。
如何清除此缓存?

在 VB.Net 中,我从流中创建了一个 System.Drawing.Bitmap。如何在 WPF 中做到最好?

问候

最佳答案

dlev 有一个很好的建议。在这里你会看到应该解决它的缓存选项:Problems overwriting (re-saving) image when it was set as image source

imgTemp.CreateOptions = BitmapCreateOptions.IgnoreImageCache;

关于.net - 在 WPF 中加载后锁定的图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7122008/

相关文章:

python - 获取并显示 numpy 数组中一堆 3 channel 图像中的一个图像

c# - ResourceDictionary : {"Key cannot be null.\r\nParameter name: key"} 中的运行时错误

html - CSS 图像动画适用于所有浏览器,但 safari

c# - 我如何计算垃圾收集期间花费的时间?

c# - .net 中的每种类型都继承自 System.Object 吗?

c# - 从新创建的窗口访问主窗口数据上下文

c# - 如何在 wpf 中检测拖动开始

python - 在 Twisted 中发送大文件

.net - 为什么在 VS 2013 中不加载 SOS.dll

c# - WCF 和 NetNamedPipeBinding - AVG 防病毒软件