ユーザーがデータを変更できるメインウィンドウを備えたプログラムがあります。プログラムには、やることのリストが表示されるTo Doダイアログもあります。このダイアログには、独自のデータコンテキスト(データベースへの接続)がありますが、更新されたデータを表示する必要があります。
メインウィンドウのすべてのフィールドでUpdateSourceTriggerをPropertyChangedに設定しませんでした(メインウィンドウの機能のため、これはすべての場合に必要になるわけではありません)。
ただし、ユーザーがto-do-dialogをアクティブにして、データをデータベースに保存し、to-do-dialogで再度読み取ることができる場合に備えて、「アクティブ」フィールドで更新ソースを実行するためのメインウィンドウが必要です。
ウィンドウに「非アクティブ化」イベントがあった場合は、それを使用して、フォーカスを別の何かに設定するだけで済みます(現在フォーカスされているコントロールを強制的にソースを更新します)。ただし、非アクティブ化イベントは存在せず、事後に発生する非アクティブ化のみが存在します。また、非アクティブ化されたメインウィンドウでフォーカスを設定すると、to-doダイアログのアクティブ化が台無しになります。また、to-do-dialogsActivedイベントではこれを行うことができません。Activatingイベントは役に立ちましたが、それは存在しません。
to-do-dialogがアクティブになる前に(タブで移動するか、マウスでクリックして)メインウィンドウでupdatesourceを強制する方法はありますか?