Я читаю мой источник изображений 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?
Привет