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事件。而在第一指按下就監聽的時候,可以正常觸發了