UIのイメージプロパティにバインドされたビューモデルを使用しています。ビューモデルにImageSourceプロパティが含まれています。私は私が私のBitmapImageの凍結を呼び出すとき、例外またはクラッシュを取得していない主なwindow.Iに表示されない、次のコードでは、以下の機能をいくつかの奇妙な理由でWPFフリーズBitmapImageが表示されない
private BitmapImage GetImageFromUri(Uri urisource)
{
if (urisource == null)
return null;
var image = new BitmapImage();
image.BeginInit();
image.UriSource = urisource;
image.EndInit();
image.Freeze(); //commenting this shows the image if the routine is called from the proper thread.
return image;
}
を使用して、そのプロパティを設定します。誰も私にこれを助けることができますか? イメージプロパティを非同期に設定しているので、GetImageFromUri呼び出しがUIスレッド以外のスレッドから行われたと仮定して、作成したイメージを使用できるようにする必要があります。
レンダリングするとどういう意味ですか? – ak3nat0n
グラフィカルにレンダリングされます。設定では、ソースで可視化できないため、WPFはまず画像をレンダリングする必要があります。 WPFがそれをやるチャンスを得る前に、あなたはそれをフリーズしているように見えます。 –