自分で体験した後、簡単に検索したところ、次の場所で未処理のままにすると、SelectionChangedがComboBoxから親のTabControlにバブルすることがわかりました。
C#WPFで、TabControlのSelectionChangedイベントが頻繁に発生するのはなぜですか?
私の質問はなぜですか?この背後にある理由は何ですか?WPFとイベントについてかなり重要な何かが欠けているように感じます。
自分で体験した後、簡単に検索したところ、次の場所で未処理のままにすると、SelectionChangedがComboBoxから親のTabControlにバブルすることがわかりました。
C#WPFで、TabControlのSelectionChangedイベントが頻繁に発生するのはなぜですか?
私の質問はなぜですか?この背後にある理由は何ですか?WPFとイベントについてかなり重要な何かが欠けているように感じます。
WPFのほとんどのイベントは、誰かがイベント引数にHandled = trueを設定するまで、バブル(またはトンネリング)します。これの利点は、単一のタブコントロール内に複数のコンボボックスがあると仮定することです。1つの場所でそれらすべてのボックスへの変更を処理できます。これは、各ComboBoxで個別にイベントを処理することに加えて、またはウィンドウ全体ですべてのComboBoxを監視するように、ツリーのさらに上位にある統合イベントを処理することもできます。
これは、WPFが「ルーティングされたイベント」と呼ぶものです。このトピックの概要については、 http://msdn.microsoft.com/en-us/library/ms742806.aspxを確認してください。