专栏首页林德熙的博客WPF 获得触摸精度和触摸点

WPF 获得触摸精度和触摸点

本文主要告诉大家如何获得所有的触摸设备的触摸精度和触摸点数。

需要通过反射的方法才可以拿到触摸的精度。

使用 Tablet.TabletDevices 可以获得所有的触摸设备,获得触摸点数可以通过下面代码

foreach (TabletDevice device in Tablet.TabletDevices)
{
	Console.WriteLine("触摸点数" + device.StylusDevices.Count);//触摸点数
}

触摸精度就需要使用反射

        var builder = new StringBuilder();
                foreach (TabletDevice device in Tablet.TabletDevices)
                {
                    var deviceProperty = typeof(TabletDevice).GetProperty("TabletDeviceImpl",
                        BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetProperty);
                    var deviceImpl = deviceProperty is null ? device : deviceProperty.GetValue(device);
                    var info = deviceImpl.GetType().GetProperty("TabletSize",
                        BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetProperty);

                    var tabletSize = (Size) info.GetValue(deviceImpl, null);
                    if (device.Type == TabletDeviceType.Touch)
                    {
                        builder.Append(string.Format("{1}:{2} 点触摸,精度 {3}{0}", Environment.NewLine,
                            device.Name, device.StylusDevices.Count, tabletSize));
                    }
                    else
                    {
                        builder.Append(string.Format("{1}:{2} 个触笔设备,精度 {3}{0}", Environment.NewLine,
                            device.Name, device.StylusDevices.Count, tabletSize));
                    }
                }

如果发现设备触摸失效,可以使用这个项目

ManipulationDemo


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • WPF 修改图片颜色

    在 WPF 可以使用很多图片处理的方法,本文告诉大家的是一个图片处理,可以把处理的图片保存在文件。

    林德熙
  • 浅谈 Windows 桌面端触摸架构演进

    我在和小伙伴水触摸相关的坑,说到了上古的触摸,很难和小伙伴统一知识,于是就写了本文用于告诉大家,桌面端的触摸架构是如何一步步演进的

    林德熙
  • WPF 从触摸消息转触摸事件

    在 WPF 程序可能因为一些坑让程序触摸失效,如果此时还可以收到系统的触摸消息,那么可以通过从触摸消息转触摸事件解决程序触摸失效但不适合所有触摸失效程序

    林德熙
  • PaaS安全操作指导

    大多数开发人员仍在不认识“全栈”的安全性情况下孤立地处理应用程序的安全问题。因此,安全性往往不一致,并且可能成为应用程序迁移到云中的障碍。本次演讲阐述企业...

    青橙.
  • 如何自动地将代码从Git平台部署至组件容器

    将源代码从Git平台部署至组件容器有很多种可以选择的方法,包括重新部署整个容器,通过卷即时重新部署,或者使用“git clone”的方法。但是,当这个过程自动化...

    用户1208077
  • H5学习之路之初识canvas,了解下?

    好吧,其实一直想写关于canvas的博文,但是奈何一直觉得看不太明白,总感觉是不是少了点什么,今天先粗略的介绍一下canvas-画布,写的哪里有问题的希望可以提...

    何处锦绣不灰堆
  • 你所知道的云计算定义出自哪里?

    NIST(美国国家标准及技术研究所)对云计算的定义,大概是到目前为止最被广泛认同的定义。

    虚拟化云计算
  • 如何在Debian 9上使用mdadm创建RAID阵列

    该mdadm实用程序可用于使用Linux的软件RAID功能创建和管理存储阵列。管理员可以非常灵活地协调各自的存储设备,并创建具有更高性能或冗余特性的逻辑存储设备...

    angel_郁
  • 如何在Ubuntu 16.04上使用mdadm管理RAID阵列

    通过将各个磁盘组合到特定配置的虚拟存储设备中,RAID阵列可提供更高的性能和冗余。在Linux中,该mdadm实用程序可以轻松创建和管理软件RAID阵列。

    GeekZ
  • 现代数据中心标准COTS服务器的演进

    数据中心内的x86商用成品(COTS)服务器的标准化已经经过了很长时间,因为该架构提供了多功能、低成本、易于集成、更有效地维护和管理配置文件,总而言之,其成本低...

    SDNLAB

扫码关注云+社区

领取腾讯云代金券