多点触摸操作

简介: 原文:多点触摸操作 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37591671/article/details/69487226 1.
原文: 多点触摸操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37591671/article/details/69487226

1.要处理Manipulation事件,首先必须设置UIElement的IsManipulationEnabled为true
2.ManipulationInertiaStartingEvent事件包含一个ManipulationStartingEventArgs参数,通过该参数可以设置:
  UIElement的ManipulationContainer —— 设置该UIElement的容器
  Mode —— 处理的事件类型,包含以下枚举
  None:不处理
  TranslateX:处理水平移动
  TranslateY:处理垂直移动
  Translate:处理移动
  Rotate:处理旋转
  Scale:处理缩放
  All:处理所有事件

private void image_ManipulationStarting(object sender, ManipulationStartingEventArgs e)
        {
            // 设置容器
e.ManipulationContainer = canvas;
            //处理事件类型.
            e.Mode = ManipulationModes.All;
        }

3.要实现控件的移动,缩放,旋转,可以在控件ManipulationDeltaEvent事件中使用以下代码:

 private void image_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
        {
            // 获取被操作对象           
            FrameworkElement element = (FrameworkElement)e.Source;
            //使用Matrix操作对象.
            Matrix matrix = ((MatrixTransform)element.RenderTransform).Matrix;
            var deltaManipulation = e.DeltaManipulation;
            // 设置中心点
        Point center = new Point(element.ActualWidth / 2, element.ActualHeight / 2);
            center = matrix.Transform(center);

            // 处理缩放
            matrix.ScaleAt(deltaManipulation.Scale.X, deltaManipulation.Scale.Y, center.X, center.Y);

            // 处理旋转
matrix.RotateAt(e.DeltaManipulation.Rotation, center.X, center.Y);

            //处理移动.
            matrix.Translate(e.DeltaManipulation.Translation.X, e.DeltaManipulation.Translation.Y);

            // 设置matrix.
            ((MatrixTransform)element.RenderTransform).Matrix = matrix;

        }
目录
相关文章
|
7月前
|
XML 存储 Android开发
Android系统 添加动态控制USB TP触摸方向、触摸唤醒
Android系统 添加动态控制USB TP触摸方向、触摸唤醒
255 0
Qt Qml 实现键鼠长时间未操作锁屏
项目中需要实时检测用户是否长时间为操作键盘和鼠标,如果超过预设时间未操作键盘和鼠标,则退出到锁屏界面,准确的说是启动屏保,当用户再次操作键盘或鼠标,则进去登录界面,及实现长时间未操作键盘鼠标就锁屏的功能。
|
程序员 C++ Windows
GDI+与GDI屏幕抓图比较
GDI+与GDI屏幕抓图比较
197 0
|
Android开发 开发者
多点触控
多点触控
105 0
|
Web App开发 JavaScript 前端开发
触屏touch事件记录
一开始并没有用这个调试,不过后面需要多点触碰,可chrome模拟器中我没看到这个功能。突然看到了Remote Debugging,网站需要FQ才能浏览。
触屏touch事件记录
|
存储 Android开发 索引
【Android 应用开发】多点触控 ( 多点触控事件 | PointerId | PointerIndex | 坐标获取 | 触摸点个数 )
【Android 应用开发】多点触控 ( 多点触控事件 | PointerId | PointerIndex | 坐标获取 | 触摸点个数 )
397 0
多点触控与多鼠标支持
原文:多点触控与多鼠标支持 多点触控与多鼠标支持   最进将工作流平台进行了升级,除了用WF4重新构建了后台,最大的改变就是全部图形化了用户界面 原计划在用户界面中全面启用多点触控技术,但发现多点触控的效果没有想象中的那么绚.
1093 0
|
存储 Android开发 iOS开发