Windows Phone XAML ページにいくつかの画像があり、この方法でロジックに従ってコード ビハインドからソースを動的に設定しています。
img1.Source = (ImageSource)new ImageSourceConverter().ConvertFromString("/Images/MAP/" + Path + ".png");
ページが読み込まれ、イメージが完全に読み込まれると正常に動作しますが、アプリのロジックに従って、2 つのボタンを持つ XNA ベースのカスタム メッセージ ボックスであるメッセージ ボックスを表示します。そして、ユーザーが[OK]をクリックすると、画像を動的に再度ロードする必要があり、呼び出していました上記と同じ関数ですが、その時点で例外が発生"Invalid Cross Thread Exception"
しますこれは、UIスレッドではなくバックグラウンドスレッドでの画像ソース設定が原因である可能性があるため、次のように試しDispatcher
ましたよくこのように
this.Dispatcher.BeginInvoke(new System.Action(delegate()
{
img1.Source = (ImageSource)new ImageSourceConverter().ConvertFromString("/Images/MAP/" + Path + ".png");
}));
このディスパッチャでは例外UI
はありませんでしたが、更新されていません
なぜそうなのか誰か教えてください。そして、同じメッセージ ボックスの [OK] ボタンをもう一度ナビゲートしようとしましたが、同じ " Invalid Cross Thread
" 例外が発生しています