私のメイン アプリケーション ウィンドウにはコントロールがあり、それぞれがユーザーに追加のコントロールを表示するポップアップを開きます。
メイン アプリケーション ウィンドウの他のコントロールには、mousedoubleclick イベント ハンドラがあります。私の問題は、ユーザーがポップアップをダブルクリックすると、ポップアップの背後にあるコントロールが mousedoubleclick イベントを受け取っていることです。
ポップアップの親に mousedoubleclick イベント ハンドラーを追加してイベントを処理しようとしましたが、それでもメイン アプリケーション ウィンドウに到達します。
private void ParentControl_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
e.Handled = true;
}
また、ポップアップの MouseEnter イベント ハンドラで Popup.CaptureMouse() を呼び出してみましたが、メソッドは常に失敗します (false を返します)。
void popup_MouseEnter(object sender, MouseEventArgs e)
{
e.Handled = true;
Popup popup = sender as Popup;
bool success = popup.CaptureMouse();
}
ポップアップが開いているときにメイン アプリケーション ウィンドウでマウス イベントが発生しないようにする他の方法はありますか?