Mouse操作:

preview mouse down, StylusDevice:null

mouse down,StylusDevice:null

preview mouse up, StylusDevice:null

mouse up,StylusDevice:null

Stylus操作:

preview StylusDown , StylusDevice:2

StylusDown, StylusDevice:2

preview mouse down, StylusDevice:2

mouse down,StylusDevice:2

preview StylusUp, StylusDevice:2

StylusUp, StylusDevice:2

preview mouse up, StylusDevice:2

mouse up,StylusDevice:2

Touch操作:

preview StylusDown , StylusDevice:4

StylusDown, StylusDevice:4

preview TouchDown , TouchDevice:4

TouchDown , TouchDevice:4

preview mouse down, StylusDevice:4

mouse down,StylusDevice:4

preview StylusUp, StylusDevice:4

StylusUp, StylusDevice:4 preview

TouchUp , TouchDevice ID:4

TouchUp , TouchDevice:4

preview mouse up, StylusDevice:4

mouse up,StylusDevice:4

解读:

1,鼠标Mouse操作不会引发触笔事件或触摸事件。其鼠标事件参数e.StylusDevice==null。

2,触笔Stylus操作先引发触笔事件,然后引发鼠标事件。触笔事件参数e.StylusDevice.Id有整数值,与由其引发的鼠标事件参数e.StylusDevice.ID相同。

3,触摸Touch操作先引发触笔事件,然后引发触摸事件,最后引发鼠标事件。Stylus事件、Mouse事件的e.StylusDevice.ID与Touch事件的e.TouchDevice.ID相同。

4,触摸Touch不可以Capture,所以不能保证TouchUp事件被触发。但TouchUp必然伴随StylueUp。为保证TouchUp被处理,应对Touch引发Stylus进行Capture,处理相应的StylusUp事件。

5,因为4,我们处理Touch操作,除了PreviewTouchDown和TouchDown,应使用Stylus事件。

6,平板电脑手写板手触InkCanvas或自定义墨迹控件,当需要丢弃手指误触形成的墨迹时,可以对墨迹是由笔还是触摸形成的进行判断,判断依据是伴随PreviewStylusDown事件是否出现了PreviewTouchDown,两者时间间隔应很短,且e.StylusDevice.ID=e.TouchDevice.ID。

7,触摸状态,出现笔悬停,自动引发StylusUp事件

Mouse Touch Stylus的更多相关文章

  1. ExtJS笔记 Using Events

    Using Events The Components and Classes of Ext JS fire a broad range of events at various points in ...

  2. Android 4.0 事件输入(Event Input)系统

    参考:http://blog.csdn.net/myarrow/article/details/7091061 1. TouchScreen功能在Android4.0下不工作 原来在Android2. ...

  3. 各式 Web 前端開發工具整理

    程式碼編寫工具 (Coding Tools) 工作流程/建置/組合 (Workflow/Builds/Assemblers) lumbar brunch grunt lineman yeoman Ta ...

  4. puppeteer(五)chrome启动参数列表API

    List of Chromium Command Line Switches https://peter.sh/experiments/chromium-command-line-switches/ ...

  5. CEF 支持的命令行参数

    参考:https://peter.sh/experiments/chromium-command-line-switches/ List of Chromium Command Line Switch ...

  6. MotionEvent分析及ImageView缩放实现

    这个类在各种View和用户的手势操作之间的交互存在很大的自定义空间.要理解清楚这个类的一些特性和意义,对自定义的新型控件很有帮助 先翻译一下开发者文档的描述 Overview Motion event ...

  7. Kinect 开发 —— 骨骼追踪进阶(上)

    Kinect传感器核心只是发射红外线,并探测红外光反射,从而可以计算出视场范围内每一个像素的深度值.从深度数据中最先提取出来的是物体主体和形状,以及每一个像素点的游戏者索引信息.然后用这些形状信息来匹 ...

  8. What is Away3D

    做了几个基于Flash平台的3D的项目,一路走来收获颇多.Away3D作为一个开源的Flash3D引擎,在3D页游领域,无疑是当前OGRE在国内的地位. 翻译出了多年前做Away3D中国社区的时候翻译 ...

  9. Three.js制作360度全景图

    这是个基于three.js的插件,预览地址:戳这里 使用方法: 1.这个插件的用法很简单,引入如下2个js <script src="js/three.min.js"> ...

随机推荐

  1. 数据报表之Excel操作模块

    Excel是当今最流行的电子表格处理软件,支持丰富的计算函数及图表,在系统运营方面广泛用于运营数据报表,比如业务质量.资源利用.安全扫描等报表,同时也是应用系统常见的文件导出格式,以便数据使用人员做进 ...

  2. 详述Oracle RAC的五大优势及其劣势

    不同的集群产品都有自己的特点,RAC的特点包括如下几点: ·双机并行.RAC是一种并行模式,并不是传统的主备模式.也就是说,RAC集群的所有成员都可以同时接收客户端的请求. ·高可用性.RAC是Ora ...

  3. spring AOP 注解配置

    applicationContext-resource.xml: <?xml version="1.0" encoding="UTF-8"?>< ...

  4. LPSN获取菌python脚本

    本文转载于https://mp.weixin.qq.com/s?__biz=MzIxNzEzODA5NQ==&mid=2649373408&idx=1&sn=232c2cb36 ...

  5. Ubuntu 18.04上安装R及Rstudio

    安装R引用自:https://www.howtoing.com/how-to-install-r-on-ubuntu-18-04 安装Rstudio引用自:https://www.rstudio.co ...

  6. where T:new() 是什么意思

    经常看到方法后面加where T:new() ,下面来解释下 比如如下这个方法   protected static T CreateNewInstance<T>() where T :  ...

  7. 如何使用eclipse搭建maven环境以及常见的错误

    这篇博客适合零基础学习maven,搭建maven以及运行项目,常见的错误,我会在结尾写出说明白,看是否和大家的错误一样,或者文章的括号注释部分也会写出一些注意点. 第一步:就是下载maven,以及配置 ...

  8. SSH框架分模块开发

    ------------------siwuxie095 SSH 框架分模块开发 1.在 Spring 核心配置文件中配置多个内容,容易造成 配置混乱,不利于维护 「分模块开发主要针对 Spring ...

  9. leetcdoe 175. Combine Two Tables

    给定两个表,一个是人,一个是地址,要求查询所有人,可以没有地址. select a.FirstName, a.LastName, b.City, b.State from Person as a le ...

  10. UVa 230 Borrowers(map和set)

    I mean your borrowers of books - those mutilators of collections, spoilers of the symmetry of shelve ...