かなりの時間 Google の結果を調べてきましたが、RoutedCommand を使用して MouseClicks とキーボード ショートカットをキャッチして同じアクションを実行する方法の例しか見つかりませんでした。
MSDNやhttps://joshsmithonwpf.wordpress.com/2008/03/18/understanding-routed-commands/などの RoutedCommand に関するいくつかのソースを読みましたが、それでも正しく理解している場合は、私ができることもできるはずです。必要:
- Window2 のボタンをクリックします。
- Window2 でメソッドを呼び出す
- Window1 でメソッドを呼び出す
- Window3 etc.pp.でメソッドを呼び出します。
ユースケースは、言語設定を保持する設定ウィンドウであり、設定で [OK] をクリックすると、すべてのアクティブなウィンドウが言語文字列を変更する必要があります。文字列を言語識別子でリロードするメソッドを作成しました。
したがって、一般に、Window2 の ButtonClick は、メソッド「ChangeLanguage(lng)」を呼び出すコマンドをすべてのアクティブな Windows に渡し、親の MainWindow であろうと、設定にまったく関係のない別の ChildWindow であろうとします。Window クラスには、独自の文字列を変更するための独自の ChangeLanguage() 関数があります。
この場合、カスタム EventHandler を使用する方が良いのではないかと思います。何らかの形でそれをグローバルにして、すべてのアクティブなウィンドウが設定ウィンドウで言語が変更されたときに発生するイベントをリッスンします。ここで別の質問でグローバル CommandHandler の例を見つけましたが、それはイベントでは機能していないと思います。