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