天天看點

WPF Multi-Touch 開發:進階觸屏操作(Manipulation)建立項目程式示範相關文章源碼下載下傳

     建立項目在XAML 程式中寫入下面代碼,為<Canvas>設定ManipulationStarting、ManipulationDelta、ManipulationCompleted 事件,并在其中添加三張圖檔,将Image 的IsManipulationEnabled 屬性均為"True",同時所有的Image 都添加了<MatrixTransform>對象,用于組合平移、縮放、旋轉操作。

     當觸碰到Image 圖檔時,image_ManipulationStarting 事件将會自動觸發,首先需要定義ManipulationContainer(即為touchPad<Canvas>),該容器的主要用于定義參考坐标,圖檔的任何操作均以參考坐标為準。ManipulationModes 設定可以限制哪些手勢操作是程式允許的,如果沒有特殊情況可設定為"All"。

     ManipulationDelta 事件會在手勢操作開始時觸發,并且該手勢需持續進行不得間斷。通過FrameworkElement 獲得接受操作的圖檔控件,将圖檔透明度降低到0.5,建立Matrix 用于控制圖檔MatrixTransform,利用Point 獲得圖檔中心坐标點,通過ScaleAt、RotateAt、Translate 執行縮放、旋轉、平移操作。

     最後,當手指離開觸摸屏即操作結束,image_ManipulationCompleted 事件觸發,将圖檔透明度重新調整為1。

<a href="http://cid-c75f4e27adfe5bbc.office.live.com/self.aspx/GnieTech/WpfManipulation.zip" target="_blank">WpfManipulation.zip</a>

本文轉自Gnie部落格園部落格,原文連結:http://www.cnblogs.com/gnielee/archive/2010/08/18/multi-touch-manipulatioin.html,如需轉載請自行聯系原作者

繼續閱讀