WPFアプリがあります。ボタンをクリックすると、アプリは4〜10秒かかる計算に入ります。その操作中に、背景の不透明度を更新してプログレスバーを表示したいと思います。
そのために、私は次のコードを使用します。
this.Cursor = System.Windows.Input.Cursors.Wait;
// grey-out the main window
SolidColorBrush brush1 = new SolidColorBrush(Colors.Black);
brush1.Opacity = 0.65;
b1 = LogicalTreeHelper.FindLogicalNode(this, "border1") as Border;
b1.Opacity = 0.7;
b1.Background = brush1;
// long running computation happens here ....
// show a modal dialog to confirm results here
// restore background and opacity here.
コードを実行すると、モーダルダイアログが表示されるまで背景と不透明度が変わりません。計算を開始する前に、これらの視覚的な変更を今すぐ発生させるにはどうすればよいですか?Windowsフォームでは、各コントロールにUpdate()メソッドがあり、これは必要に応じて実行されました。WPFアナログとは何ですか?