Csharp/C#教程:如何在 上使用mouseDown和mouseUp分享


如何在 上使用mouseDown和mouseUp

我有一个在XAML中声明的按钮,它具有MouseDown和MouseUp属性,它们都调用指定的方法…

但是,从不调用方法btnBackward_MouseReleased。

 private void btnBackward_MouseReleased(object sender, System.Windows.Input.MouseEventArgs e) { Console.WriteLine("mousereleased"); this.isRewinding = false; } 

我错过了什么?

您应该在此处使用Preview events 。 因此,而不是MouseDownMouseUp ,挂钩到PreviewMouseDownPreviewMouseUp

  

原因formsMSDN –

Button抑制由Button或其复合元素引发的MouseLeftButtonDown和MouseLeftButtonDown冒泡事件,以支持捕获鼠标并引发始终由Button本身引发的Click事件。 事件及其数据仍沿着路径继续,但由于Button将事件数据标记为Handled,因此仅调用特定表明它们应在handleEventsToo案例中操作的事件的处理程序。 如果针对应用程序根目录的其他元素仍然希望有机会处理控制抑制事件,则可以选择在handleEventsToo指定为true的代码中附加处理程序。 但通常一种更简单的技术是将您处理的路由方向更改为预览等效于输入事件。 例如,如果控件禁止MouseLeftButtonDown,请尝试为PreviewMouseLeftButtonDown附加处理程序

但是,如果你右键单击你的按钮MouseUpMouseDown事件将完美地工作,因为在这种情况下点击不会消耗事件并且它们正确地冒泡了。

上述就是C#学习教程:如何在 上使用mouseDown和mouseUp分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/988298.html

(0)
上一篇 2021年12月23日
下一篇 2021年12月23日

精彩推荐