多点触摸操作

简介: 原文:多点触摸操作 版权声明:本文为博主原创文章,未经博主允许不得转载。 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;

        }
目录
相关文章
|
3天前
|
XML 存储 Android开发
Android系统 添加动态控制USB TP触摸方向、触摸唤醒
Android系统 添加动态控制USB TP触摸方向、触摸唤醒
34 0
|
6月前
|
监控
Qt Qml 实现键鼠长时间未操作锁屏
项目中需要实时检测用户是否长时间为操作键盘和鼠标,如果超过预设时间未操作键盘和鼠标,则退出到锁屏界面,准确的说是启动屏保,当用户再次操作键盘或鼠标,则进去登录界面,及实现长时间未操作键盘鼠标就锁屏的功能。
|
9月前
|
前端开发 JavaScript 定位技术
移动端手势事件和触摸交互
移动端手势事件和触摸交互
110 0
|
Android开发 开发者
多点触控
多点触控
72 0
|
移动开发 数据可视化 前端开发
解决安卓收起键盘无法触发失焦事件的问题
解决安卓收起键盘无法触发失焦事件的问题
980 0
|
Web App开发 JavaScript 前端开发
触屏touch事件记录
一开始并没有用这个调试,不过后面需要多点触碰,可chrome模拟器中我没看到这个功能。突然看到了Remote Debugging,网站需要FQ才能浏览。
触屏touch事件记录
|
Windows
模拟鼠标键盘操作(硬件模拟)
3.驱动级模拟(硬件模拟)  如果上面的方法你都试过了,可是你发现目标程序却仍然顽固的不接受你模拟的消息,寒~~~~~~~~~还好,我还剩下最后一招,这就是驱动级模拟:直接读写键盘的硬件端口!  有一些使用DirectX接口的游戏程序,它们在读取键盘操作时绕过了windows的消息机制,而使用DirectInput.这是因为有些游戏对实时性控制的要求比较高,比如赛车游戏,要求以最快速度响应键盘输入。
4058 0
|
存储 Android开发 索引
【Android 应用开发】多点触控 ( 多点触控事件 | PointerId | PointerIndex | 坐标获取 | 触摸点个数 )
【Android 应用开发】多点触控 ( 多点触控事件 | PointerId | PointerIndex | 坐标获取 | 触摸点个数 )
327 0
多点触控与多鼠标支持
原文:多点触控与多鼠标支持 多点触控与多鼠标支持   最进将工作流平台进行了升级,除了用WF4重新构建了后台,最大的改变就是全部图形化了用户界面 原计划在用户界面中全面启用多点触控技术,但发现多点触控的效果没有想象中的那么绚.
1046 0