Wpf 多指應用開發解析
- 2022 年 7 月 20 日
- 筆記
1 首先分析多指事件與單指事件,以及執行順序
2 事件阻斷
訂閱多指事件後,在TouchDown時 採用e.handle = true,阻斷多指事件,或在ManipulationStarting、ManipulationStarted 時調用參數(ManipulationStartingEventArgs e)、(ManipulationStartedEventArgs e)e.cancel(); 但注意不可以在ManipulationDelta的參數( ManipulationDeltaEventArgs e)調用e.cancel(),否則之後也不會觸發ManipulationDelta 事件
3 當觸摸有多指的時間再去監聽(不是在一開始或 第一指按下就就監聽多指事件,而是在觸摸之後再去監聽),則不會觸發ManipulationStaring 和ManipulationStarted 事件,為什麼?只能查看源代碼了…
通過源代碼發現: 第一指手指 觸摸的時候 為Waiting 狀態,第二指手指再按下 監聽的時候為Manipulating狀態,所以在第二指觸控之後再去監聽多指事件,則多指事件不會觸發 ManipulationStarted事件。而在第一指按下就監聽的時候,可以正常觸發了