【发布时间】:2023-03-10 16:13:01
【问题描述】:
我正在尝试创建一个 UI,在该 UI 中我可以在没有鼠标的情况下与普通 WPF 控件进行交互。我想支持多个游标,因此使用任何常规输入模拟(例如SendInput)都不起作用。我还尝试过交错SendInput 消息来模拟鼠标光标,但这也不起作用(只有一个鼠标输入)。我也有一个约束,我不想使用 Windows MultiPoint。
当我使用MouseEnterEvent、MouseLeaveEvent、MouseMove、MouseDownEvent 和MouseUpEvent 检测到我的光标位置在控件上方时,我尝试通过鼠标事件向控件发送事件(在 Button 上测试它)。但除了MouseDownEvent,似乎都不起作用。
这是我如何发送MouseEnterEvent 的示例:
System.Windows.Input.MouseEventArgs e =
new System.Windows.Input.MouseEventArgs(System.Windows.Input.Mouse.PrimaryDevice, DateTime.Now.Millisecond);
e.RoutedEvent = System.Windows.Input.Mouse.MouseEnterEvent;
elementUnderCursor.RaiseEvent(e);
其中elementUnderCursor 是UIElement。
【问题讨论】:
标签: wpf events button mouseover mouseenter