Dans ma fenêtre principale de l'application, il y a des contrôles, dont chacun ouvre une fenêtre contextuelle qui présente plus de contrôles à l'utilisateur.WPF pop-up capturer les événements de souris Doubleclick
Autres contrôles dans la fenêtre principale de l'application des gestionnaires d'événements mouseDoubleClick. Mon problème est que lorsque l'utilisateur clique deux fois dans le popup, les contrôles derrière le popup reçoivent les événements mousedoubleclick.
J'ai essayé ajouté un gestionnaire d'événements MouseDoubleClick au parent de la fenêtre contextuelle et gestion de l'événement, mais il obtient encore à travers la fenêtre principale de l'application.
private void ParentControl_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
e.Handled = true;
}
J'ai aussi essayé d'invoquer Popup.CaptureMouse() dans un gestionnaire d'événements MouseEnter dans le menu contextuel, mais la méthode est toujours un échec (retourne false). Existe-t-il d'autres moyens pour empêcher les événements de la souris de se déclencher dans la fenêtre principale de l'application lorsque la fenêtre contextuelle est ouverte?
void popup_MouseEnter(object sender, MouseEventArgs e)
{
e.Handled = true;
Popup popup = sender as Popup;
bool success = popup.CaptureMouse();
}
Jim, je ne semblais pas reproduire votre problème. Juste pour clarifier, quand vous mentionnez une fenêtre pop-up, est-ce un nouveau formulaire de fenêtre ou est-ce un contrôle dans la fenêtre principale qui change sa visibilité de Hidden/Collapse à visible. –
Par popup, je veux dire la classe Popup. Voir http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.popup.aspx –
à laquelle le contrôle vous définissez le gestionnaire d'événement? – thumbmunkeys