Wpf 多指应用开发解析

1  首先分析多指事件与单指事件,以及执行顺序

2  事件阻断

订阅多指事件后,在TouchDown时 采用e.handle = true,阻断多指事件,或在ManipulationStarting、ManipulationStarted 时调用参数(ManipulationStartingEventArgs e)、(ManipulationStartedEventArgs e)e.cancel(); 但注意不可以在ManipulationDelta的参数( ManipulationDeltaEventArgs e)调用e.cancel(),否则之后也不会触发ManipulationDelta 事件

cancel()如果该方法成功,则默认值 TouchDevice 会将以前的触摸事件作为鼠标向下、鼠标移动或鼠标向上事件发送到元素。 如果在惯性期间发生事件, ManipulationCompleted 则无法将 Touch 提升为鼠标事件。

3  当触摸有多指的时间再去监听(不是在一开始或 第一指按下就就监听多指事件,而是在触摸之后再去监听),则不会触发ManipulationStaring 和ManipulationStarted 事件,为什么?只能查看源代码了...

 

  

通过源代码发现: 第一指手指 触摸的时候 为Waiting 状态,第二指手指再按下 监听的时候为Manipulating状态,所以在第二指触控之后再去监听多指事件,则多指事件不会触发 ManipulationStarted事件。而在第一指按下就监听的时候,可以正常触发了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值