私は Web サーバーから多くの画像を取得しようとしているので、1 秒あたり数百の要求でサーバーを過負荷にしないように、WebService で処理される少数のみを通過させます。次のコードは、画像を保存するオブジェクトと、すべてのバインディングの場所です。
ThreadStart thread = delegate()
{
BitmapImage image = WebService.LoadImage(data);
Dispatcher.CurrentDispatcher.BeginInvoke(new Action(() =>
{
this.Image = image;
}));
};
new Thread(thread).Start();
画像は正常に読み込まれます。画像が読み込まれている間、UI はスムーズに動作しますが、this.Image = image
呼び出されることはありません。行を使用Dispatcher.CurrentDispatcher.Invoke(..)
すると呼び出されますが、画像の設定には機能しません。ディスパッチャがアクションを呼び出さないのはなぜですか?