我正在尝试通过使用以下代码将它冒泡到Visual树中来引发MouseLeftButtonDownEvent.
MouseButtonEventArgs args = new MouseButtonEventArgs(Mouse.PrimaryDevice,0, MouseButton.Left);
args.RoutedEvent = UIElement.MouseLeftButtonDownEvent;
args.Source = this;
RaiseEvent(args);
Run Code Online (Sandbox Code Playgroud)
由于某种原因,较高级别的组件未收到此冒泡事件.我是否忽略了某些事情或者是否无法举起这个鼠标事件
Ray*_*rns 22
你的问题是你正在提出一个不起泡的事件.
MouseLeftButtonDownEvent被定义为RoutingStrategy.Direct,这意味着它仅被路由到接收事件的控件.
您想要使用Mouse.MouseDownEvent事件. UIElement和其他类在内部将其转换为MouseLeftButtonDownEvent.确保将e.ChangedButton设置为MouseButton.Left:
RaiseEvent(new MouseButtonEventArgs(Mouse.PrimaryDevice, 0, MouseButton.Left)
{
RoutedEvent = Mouse.MouseDownEvent,
Source = this,
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15356 次 |
| 最近记录: |