C#WPF怎样判断当前操作时鼠标点击还是触屏操作
展开全部
wpf提供了Mouse事件(Down Up Drag),和Touch事件(Down Up Drag)。
讲道理的话,鼠标点,触发MouseDown,按触摸屏,触发TouchDown。
但是实际上在windows平板或者二合一电脑里,触摸屏幕也是会触发(MouseDown)事件的,如果你有Surface系列可以试一下。
这是因为Windows平板的驱动中,已经把触摸屏触摸的事件记录下来,并通知成鼠标点击事件了,因为这样可以照顾到很多老的应用,也一定程度提升用户体验。比如老的winform程序,压根就没有什么Touchdown的事件, 所以转成MouseDown或者Click也很方便用户使用。
因此在普通的windows系统运行的WPF编程里, 写一个MouseDown就足够了,因为不管是触摸还是点鼠标,都能触发。 反之如果写成TouchDown,鼠标点击是不会触发的。
这个事件在WPF中有这个bug,但是这个函数主要是给UWP编程用的,uwp和wpf语法基本一样,因此这个Touch事件应该算是移植过来的,不用太在意。
讲道理的话,鼠标点,触发MouseDown,按触摸屏,触发TouchDown。
但是实际上在windows平板或者二合一电脑里,触摸屏幕也是会触发(MouseDown)事件的,如果你有Surface系列可以试一下。
这是因为Windows平板的驱动中,已经把触摸屏触摸的事件记录下来,并通知成鼠标点击事件了,因为这样可以照顾到很多老的应用,也一定程度提升用户体验。比如老的winform程序,压根就没有什么Touchdown的事件, 所以转成MouseDown或者Click也很方便用户使用。
因此在普通的windows系统运行的WPF编程里, 写一个MouseDown就足够了,因为不管是触摸还是点鼠标,都能触发。 反之如果写成TouchDown,鼠标点击是不会触发的。
这个事件在WPF中有这个bug,但是这个函数主要是给UWP编程用的,uwp和wpf语法基本一样,因此这个Touch事件应该算是移植过来的,不用太在意。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询