古いMFCアプリケーションを維持しながら、WPFに新しい進行状況ダイアログバーを実装しました。アプリケーションは現在、多くのビジネス操作でビジーなUIスレッドを持っていますが、これを変更することは範囲外です。
文字列プロパティがその値を変更すると(TextBoxのテキストにバインドされる)、進行状況ダイアログは更新されません(スレッドがそれほどビジーでない場合のみ)。
プロパティの更新がUIスレッドから行われる限り、スレッドはダイアログを更新して次の処理に進む前に再描画できるはずなので、更新されない理由と修正方法がわかりません。それ。
何か案は?
編集:このソリューションの欠点は何ですか、私はそれを試しましたが、うまくいくようです:
private static Action EmptyDelegate = delegate() { };
public static void Refresh(this UIElement uiElement)
{
uiElement.Dispatcher.Invoke(DispatcherPriority.Render, EmptyDelegate);
}