0
我有一个WPF应用程序,它具有多个WindowsFormsHost控件。我试图在全屏模式下最大化时跟踪应用程序内部的鼠标位置。如果用户将鼠标放在顶部屏幕附近,我想用额外的菜单显示一个窗口。在多个WindowsFormsHost控件中跟踪WPF鼠标移动
我可以使用:
- Window.PreviewMouseMove
- InputManager.PreProcessInput,甚至
- HwndSource.FromHwnd(WindowInteropHelper(主窗口).Handle).AddHook(...)
接收移动事件,只要鼠标不移过WindowsFormsHost(如果用户这样做,我不会收到事件)。我认为根本问题是因为WPF为每个WindowsFormsHost使用单独的HWND。
是否有一种很好的方式来跟踪我的应用程序中的鼠标移动,而无需手动查找每个WindowsFormsHost并订阅其鼠标移动事件?如果可能,我还想避免使用全局Windows鼠标侦听器。