私のアプリには、ディスク イメージ ファイルにバインドされた Image コントロールが含まれています。いくつかの条件で、画像ファイルを更新する必要があります。しかし、画像ファイルが開いていて上書きできないため、更新できません。私は何をすべきか?
2 に答える
0
バインディングの削除を試みることができるので、イメージ ファイルを上書きしてバインディングを再度追加するよりも、プログラムでイメージが使用されないようにすることができます。
これについてはよくわかりませんが、試してみる価値はあります
于 2011-03-22T03:11:37.400 に答える
0
今私の解決策は次のとおりです。コンバーターを使用して画像パスを BitmapImage に変換します。コンバーターで、FileStream を使用してイメージを読み込み、データを MemoryStream にコピーして、最後に FileStream を閉じます。
BitmapImage bmp = new BitmapImage();
bmp.CacheOption = BitmapCacheOption.OnLoad;
bmp.BeginInit();
var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read);
var memStream = new MemoryStream();
memStream.SetLength(fileStream.Length);
fileStream.Read(memStream.GetBuffer(), 0, (int)fileStream.Length);
memStream.Flush();
fileStream.Close();
bmp.StreamSource = memStream;
bmp.EndInit();
return bmp;
于 2011-03-22T05:37:27.567 に答える