天天看點

一起談.NET技術,WPF Multi-Touch 開發:基礎觸屏操作(Raw Touch)  建立項目  程式示範

  多點觸控(Multi-Touch)就是通過與觸屏裝置的接觸達到人與應用程式互動的操作過程。例如,生活中經常使用的觸屏手機、觸屏筆記本、顯示器以及微軟最新的Surface 産品等這些都屬于觸屏操作裝置。本篇将介紹如何開發能夠支援MT 功能的應用程式。

  在WPF 4 中已經具備的多點觸控開發技術,當多個手指觸碰到觸屏裝置時,WPF 會把每跟手指認為是一個觸控裝置,并為其配置設定唯一的識别ID,以便跟蹤不同手指的操作手勢。下面将通過執行個體示範WPF 所支援的低級别觸控操作:觸碰(TouchDown)、分離(TouchUp)、移動(TouchMove),它們都是一些最基礎的操作模式。

  建立項目在XAML中寫入如下代碼,<Grid>中隻添加了<Canvas> 控件,其中包含TouchDown、TouchUp、TouchMove 三個基礎觸控事件。當手指觸碰程式時便會在Canvas 中生成彩色圓圈,圓圈的位置随手指的移動而改變,手指離開觸屏的同時圓圈消失。接下來将逐一講解每個事件所完成的任務。

  TouchDown 事件主要是完成當觸碰産生時在<Canvas> 控件中生成彩色圓圈的任務(C#代碼如下)。使用Ellipse 建立随機顔色的圓圈,通過GetTouchPoint 方法擷取觸碰位置點,并調整圓圈在<Canvas> 中的位置。為了跟蹤手指移動軌迹,需要将觸屏裝置ID 及UI 控件存儲在集合movingEllipses 中。

  當手指離開觸屏時TouchUp 事件将被觸發,首先将觸碰裝置從movingEllipses 集合中删除不再跟蹤手指相關操作,并從<Canvas> 中将彩色圓圈移除。

  當手指在觸屏上持續移動時TouchMove 事件觸發,它來跟蹤手指移動軌迹,并重新調整圓圈在<Canvas> 中的位置。