私は次のように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でどのように行うのが最善ですか?
よろしく