6

Popupボタンのクリック ( ) に応答して を表示していますpopup.IsOpen = true;。ポップアップには ComboBox が含まれており、コンボボックス内の項目をクリックすると、SelectionChanged イベントが行うことの 1 つはポップアップを非表示にすることです。

ポップアップDataGridは、自分のページにもある上に表示され、コンボボックスのマウスクリックも、DataGrid で取得した MouseUp イベントによって検出されていることがわかりました。何が起こっているのか分かりますか?

4

2 に答える 2

3

MouseUpイベントにはタイプ のルーティング戦略がありますBubbling。このタイプの戦略を使用するイベントは、チェーンを介して親コントロールに渡されます。Popupは の子であるため、DataGridイベントは まで「バブル」しDataGridます。イベントをバブルさせたくない場合PreviewMouseUpは、ルーティング戦略を持ちTunneling、チェーンを子コントロールに「トンネリング」する を使用してみてください。ここにまともなoverviewものがありRouting Strategiesます。

于 2013-02-22T19:08:05.850 に答える