在讨论 wpf 开发时,如果开发的应用是触摸应用,熟悉的小伙伴们常常会提到触摸失效问题。触摸失效可以分为系统触摸失效和应用程序触摸失效。需要注意的是,触摸失效并不意味着触摸完全没有反应。本文将详细介绍什么是触摸失效。
首先,了解触摸失效的分类是必要的。触摸失效可以分为系统触摸失效和应用触摸失效,每种失效又可以进一步分为全触摸失效和多指触摸失效。请看下图:

系统触摸失效系统桌面用触摸点不了任何内容,但用鼠标可以在任何应用都无法使用触摸,但鼠标可以系统的触摸都转鼠标,开启触摸点反馈时发现只有鼠标光标显示,没有显示触摸光标。无法在系统和任何应用使用多指触摸应用触摸失效在某个应用里面无法用触摸,但可以使用鼠标在应用里面所有触摸都转鼠标,也就是收不到Touch事件,同时收不到多指触摸
系统触摸失效和应用触摸失效的区别在于,应用触摸失效只影响某个应用,其他应用或此应用重启后可能恢复触摸功能。而系统触摸失效则类似于没有触摸设备,所有的应用和系统都无法使用触摸。
全触摸失效就像没有触摸设备一样,所有触摸都没有响应,但鼠标可以正常使用。多指触摸失效则是不支持多指触摸,但可以转换为单指触摸或转为鼠标,相当于鼠标点击。
在应用程序中,还存在瞬时触摸失效问题,即某次触摸没有响应,但随后应用程序能恢复触摸功能。
知我AI·PC客户端
离线运行 AI 大模型,构建你的私有个人知识库,对话式提取文件知识,保证个人文件数据安全
0 查看详情
对于不同的触摸失效问题,有不同的解决方法。关于应用程序中的触摸失效,请参考《WPF 程序无法触摸操作?我们一起来找原因和解决方法! – walterlv》。
应用程序的触摸失效可以分为启动前和运行过程。如果应用程序在启动前就已经触摸失效,那么与应用程序本身的代码执行无关。在 Win7 系统中存在许多触摸问题,如果应用在启动过程中尚未进入用户代码就触摸失效,通常是系统问题。如果在运行过程中触摸失效,也可能与系统相关,但大部分情况是应用程序的问题。
为什么系统没有触摸失效而应用触摸失效了?从官方文档可以了解 Windows 对触摸的处理方式。通过《打开 HID 集合和 Windows 触摸文档》,可以知道从硬件接收到的消息需要进入 Windows 内核处理,然后经过 Windows touch SDK 转发到应用,如下图所示:

以上就是WPF 客户端开发需要知道的触摸失效问题的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/336840.html
微信扫一扫
支付宝扫一扫