Question

Je sais qu'il y a un événement de clic de souris pour chaque contrôle, mais existe-t-il un moyen de déterminer quand le clic de souris n'est pas sur le contrôle?

Était-ce utile?

La solution

vous pouvez utiliser ce code pour rechercher tous les contrôles ou le type d'élément visuel cible dans la fenêtre et gérer ses événements de souris.

Autres conseils

vous pouvez rechercher la valeur false dans IsMouseOver et, si vous souhaitez accrocher une action lorsque IsMouseOver == false, vous pouvez remplacer les métadonnées de ce dp.

Vous pouvez appeler CaptureMouse pour que cet objet reçoive tous les événements de la souris. Vous pouvez ensuite déterminer, du point de la souris vers le bas, si elle se trouve ou non dans les limites de votre contrôle. Vous pouvez également écouter l'événement LostMouseCapture à la place.

Cela ne fonctionnera pas pour l'événement Click (car il n'y a pas de version de tunneling, seulement une version à bullage), mais vous pouvez gérer le PreviewMouseLeftButtonDown routé sur le < code> Window et vérifiez si le contrôle cible se trouve dans l’arborescence du hit.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top