J'ai une application WPF qui a plusieurs contrôles WindowsFormsHost. J'essaie de suivre la position de la souris à l'intérieur de mon application lorsqu'elle est agrandie en mode plein écran. Si l'utilisateur place la souris près de l'écran supérieur, j'aimerais afficher une fenêtre avec des menus supplémentaires.Suivi des mouvements de souris WPF au milieu de plusieurs contrôles WindowsFormsHost
Je peux utiliser:
- Window.PreviewMouseMove
- InputManager.PreProcessInput, ou même
- HwndSource.FromHwnd (WindowInteropHelper (mainWindow) .Handle) .AddHook (...)
recevoir des événements de déplacement tant que la souris ne se déplace pas sur un WindowsFormsHost (si l'utilisateur le fait, je ne reçois pas d'événement). Je pense que le problème racine est parce que WPF utilise un HWND distinct pour chaque WindowsFormsHost.
Existe-t-il un bon moyen de suivre les mouvements de la souris dans mon application sans devoir rechercher manuellement chaque WindowsFormsHost et s'abonner à ses événements de déplacement de la souris? Je voudrais également éviter un écouteur global de la souris Windows si possible.