首页 > 其他分享 >WPF 使用 ManipulationDemo 工具辅助调试设备触摸失效问题

WPF 使用 ManipulationDemo 工具辅助调试设备触摸失效问题

时间:2024-04-25 09:26:07浏览次数:26  
标签:插拔 触摸 ManipulationDemo 失效 WPF 设备

本文将和大家介绍我所在的团队开源的 ManipulationDemo 工具。通过 ManipulationDemo 工具可以提升调试设备触摸失效的效率

此工具在 GitHub 上完全开源,请看 https://github.com/dotnet-campus/ManipulationDemo/

软件界面效果大概如下

可以显示接收到的 Win32 消息、当前的触摸设备状态,以及设备插拔信息

使用此工具可以用来调试设备触摸失效问题,包括:

  • 是否有应用收走了消息
    • 通过查看应用左侧 Win32 消息即可了解。常见问题是有透明窗口挡住应用
  • 是否有奇怪的 Win32 消息发过来导致触摸失效
  • 是否出现设备插拔,导致触摸设备被拔走
    • 当出现 USB 设备插拔时,将会在应用下方的中间记录变更的设备信息,此时一般关注的是设备的 VID 和 PID 属性,从而了解是否自己的触摸框被插拔
    • 自己的应用使用的是 .NET Framework 低版本且用户端运行时也是 .NET Framework 低版本时,存在插拔触摸失效已知问题。详细请看 WPF 插拔触摸设备触摸失效
    • 现在存在某些厂商的触摸框,进行插拔之后会导致触摸失效
  • 是否触摸设备本身状态异常,即获取不到正确的触摸信息
    • 触摸点数拿不到或触摸设备数拿不到,从应用右下角可以看到正常触摸设备会显示触摸点数等
  • 是否出现了多指触摸失效问题,即触摸转鼠标问题
    • 多指触摸只收到鼠标消息,且多指触摸的时候,界面没有反映
  • 是否自己应用上层业务逻辑编写不正确
    • 即自己的应用触摸失效了,但 ManipulationDemo 工具可以正常收到触摸消息,这就证明不是设备的问题

更多触摸和笔迹书写相关请看 WPF 触摸相关

标签:插拔,触摸,ManipulationDemo,失效,WPF,设备
From: https://www.cnblogs.com/lindexi/p/17850780.html

相关文章

  • WPF 通过 GetMessageExtraInfo 方法获取当前收到的鼠标消息是否由触摸转换过来
    本文将告诉大家如何在WPF或者其他Win32应用里面,在收到鼠标消息时,通过GetMessageExtraInfo方法获取当前收到的鼠标消息是否由触摸消息提升而来大家都知道,在不开启WM_Pointer的情况下,无论是走WM_Touch或者是RealTimeStylus等方式,默认下触摸都会提升为鼠标消息从而更好......
  • 记 dotnet 8.0.4 修复的 WPF 的触摸模块安全问题
    本文记录dotnet8.0.4版本修复的WPF的触摸模块安全问题,此问题影响所有的.NET版本,修复方法是更新SDK和运行时宣布安全漏洞地址:https://github.com/dotnet/wpf/issues/9003安全漏洞宣布地址:https://github.com/dotnet/announcements/issues/303漏洞代号:CVE-2024-21409......
  • WPF 已知问题 开启 IsManipulationEnabled 之后触摸长按 RepeatButton 不会触发连续的
    本文记录WPF的一个已知问题,在RepeatButton上开启IsManipulationEnabled漫游支持之后,将会导致触摸长按到RepeatButton之上时,不会收到源源不断的Click事件这是有个伙伴在WPF官方仓库报告的问题,详细请看https://github.com/dotnet/wpf/issues/8223原始的问题是他发现......
  • WPF控件:密码框绑定MVVM
    以下是一种使用MVVM模式的方法:首先,在ViewModel中添加一个属性来保存密码,我们可以使用SecureString类型。//密码变量privateSecureString_password;//密码属性,用于获取和设置密码publicSecureStringPassword{get{return_passw......
  • WPF开源轻便、快速的桌面启动器
    前言今天大姚给大家分享一款WPF开源、简单、轻便、快速的桌面启动器(支持多主题、多语言:简体中文、繁体中文、英文等):CurvaLauncher。WPF介绍WPF是一个强大的桌面应用程序框架,用于构建具有丰富用户界面的Windows应用。它提供了灵活的布局、数据绑定、样式和模板、动画效果等功......
  • WPF自定义FixedColumnGrid布局控件
    按照上一节所讲,我已经对布局系统又所了解。接下来我就实现一个布局控件FixedColumnGrid。1.基础版布局控件机制如下,FixedColumnGrid将子控件按照水平排列,每行满两列后换行。每个控件大小相同,高度固定为50。第一步,先重载测量和排列方法protectedoverrideSizeMeasureOverrid......
  • 【转】[C#][WPF] ContentControl 和 ContentPresenter 的区别
    转自:阿里的通义灵码在 https://blog.csdn.net/yao_hou/article/details/134431366需要付费阅读,所以从阿里的通义灵码来寻找答案:WPF中的 ContentControl 和 ContentPresenter 虽然都涉及内容展示,但它们扮演着不同的角色,具有各自的特性和用途。以下是两者之间的主要区......
  • 5款开源、美观、强大的WPF UI组件库
    前言经常看到有小伙伴在DotNetGuide技术社区交流群里提问:WPF有什么好用或者好看的UI组件库?,今天大姚给大家分享5款开源、美观、强大、简单易用的WPFUI组件库。WPF介绍WPF是一个强大的桌面应用程序框架,用于构建具有丰富用户界面的Windows应用。它提供了灵活的布局、数据绑定......
  • wpf布局递归
    wpf布局递归的调用到底是怎样的顺序?我一直挺模糊。按照继承顺序。已知:1.1.UIElement:声明了Measure1.2.UIElement:声明了MeasureCore,返回Size(0,0)1.3.UIElement:Measure调用了this.MeasureCore2.1.FrameworkElement:声明了MeasureOverride返回Size(0,0)2.2.FrameworkElement:重......
  • WPF/C#:如何显示具有层级关系的数据
    前言比方说我们有以下两个类:publicclassClass{publicstring?Name{get;set;}publicList<Student>?Students{get;set;}}publicclassStudent{publicstring?Name{get;set;}}一个表示班级,一个表示学生,一个班级包含多个学生。......