WPFのコントロール間の通信を可能にする正しいメカニズムは何でしょうか。私の目標は、従来のイベントを使用せず、手動でそれらを接続する必要があることです。ルーティングされたコマンドのデフォルトの動作(トンネリング、バブリング)は正しい方向に沿っているように見えますが、何かが足りないと思います。
ルーティングされたイベントは、WPFによって提供される新しいインフラストラクチャであり、イベントがビジュアルツリーを下ってターゲット要素にトンネリングしたり、ルート要素にバブルアップしたりできるようにします。イベントが発生すると、途中で遭遇したそのイベントにサブスクライブされた要素で、そのイベントのハンドラーを呼び出すビジュアルツリーを上下に「移動」します。 このツリートラバーサルは、ビジュアルツリー全体をカバーするのではなく、祖先要素のみをカバーすることに注意してください。
これは、このWPF記事からのものです
記事の画像を使用して、「Immediate Element#1」でイベントを開始(発生)させてから、「Immediate Element#2」でそのイベントを処理するようにします。「ルート要素」にコードを入れずにこれを実現したいと思います。
基本的に、アプリのどこからでもイベント(保存、ステータスの更新、選択の変更など)を発生させ、2つのパーティがお互いについて何も知らない状態で別の場所で処理するようにします。これは可能ですか?
私はデータベイディングが答えだとは思わない。ルーティングされたイベント/コマンドは、ソース管理のブランチ内だけでなく、ツリー全体で設計されているため、使用したいと思います。ルーティングされたイベント/コマンドを使用して実行できない可能性があり、データバインディングがその答えです。わからない...
何か案は?