【声明】CSDN只做转发不做时时更新,最新博客请关注博客园 WPF 记录鼠标、触摸多设备混合输入场景问题 - 唐宋元明清2188 - 博客园
本文记录在WPF应用中鼠标、触摸混合输入,鼠标事件抬起时不会有MouseUp事件触发的问题。
事件输入我们都知道有3类:鼠标、触摸、触笔,鼠标是windows系统出来就有的事件,后面加了触笔、触摸。
1.鼠标输入,只会触发Mouse冒泡隧道事件;
2.触笔输入,会触发除了Stylus事件外,还会触发Mouse事件;
3.触摸输入,触发Touch事件、Stylus事件、Mouse事件。
如何区分三类事件可以参考 WPF 屏幕点击的设备类型 - 唐宋元明清2188 - 博客园,封装所有事件类型(包括Button阻止冒泡事件场景)整合成一个Device事件可以参考 WPF 设备输入事件封装 - 唐宋元明清2188 - 博客园
和小伙伴在定位PPT批注翻页问题时,发现在以WIN32跨进程设置父子窗口后再调动PPT上下翻页,批注触摸操作只会触发Mouse事件,但此Mouse事件只有Down没有Up,这类触摸只转鼠标的场景后面我单独描述下。当我尝试使用鼠标+触摸混合操作时,也能复现Mouse没有Up抬起事件。
鼠标+触摸,复现步骤:
1.鼠标按下
2.在其它位置触摸按下