天天看点

WPF Multi-Touch 开发:高级触屏操作(Manipulation)创建项目程序演示相关文章源码下载

WPF Multi-Touch 开发:高级触屏操作(Manipulation)创建项目程序演示相关文章源码下载

     新建项目在XAML 程序中写入下面代码,为<Canvas>设置ManipulationStarting、ManipulationDelta、ManipulationCompleted 事件,并在其中添加三张图片,将Image 的IsManipulationEnabled 属性均为"True",同时所有的Image 都添加了<MatrixTransform>对象,用于组合平移、缩放、旋转操作。

WPF Multi-Touch 开发:高级触屏操作(Manipulation)创建项目程序演示相关文章源码下载

     当触碰到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)

版权声明:本文的版权归作者与博客园共有。转载时须注明本文的详细链接,否则作者将保留追究其法律责任。

继续阅读