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