次のメソッドは、2番目のメソッド(DoWork)が終了するまで、wpfの変更(background = red)を適用しません。
private void change()
{
Background = Brushes.Red;
Dispatcher.BeginInvoke((Action) DoWork);
}
DoWork()の実行には数秒かかりますが、このコードは複数の場所で使用され、さまざまな間隔でDispatcherスレッドと相互作用する可能性があるため、スレッドに入れたくありません。Invalidate ...()メソッドを呼び出してみましたが、役に立ちませんでした。BeginInvoke()が追加され、ロジックが呼び出される前に遅延によってバックグラウンド変更を適用できるかどうかを確認しました。通常、ロジックはこのメソッドの一部になります。ところで、ほとんどのロジックは別のスレッドで実行され、ディスパッチャースレッドをブロックするべきではありませんか?!
誰か助けてもらえますか?ありがとう