WPF中加载图像文件后被锁定

6

I am reading my WPF imagesource like this:

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中怎么做最好?

致敬


看看这个链接是否有帮助:https://dev59.com/8XI95IYBdhLWcg3w5iY4。我不知道如何显式地清除缓存,但这可能对你有所帮助。 - Can Poyrazoğlu
1个回答

9

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接