原文出自:http://www.bcmeng.com/windows-phone-touch1/

请在此输入内容(想死啊,写了一个小时,直接没保存不小心删掉了。那就简单说说吧)Pointer事件有以下事件:

  • PointerCanceled
  • PointerEntered
  • PointerExited
  • PointerMoved
  • PointerPressed
  • PointerReleased
  • PointerCaptureLost

其引发顺序如下:

当点击时:即Tap事件引发的触摸和指针事件顺序如下:

12:4:8-PointerEntered事件发生

12:4:8-PointerPressed事件发生
12:4:8-ManipulationStarting事件发生
12:4:8-PointerMoved事件发生
12:4:8-PointerMoved事件发生
12:4:8-PointerReleased事件发生
12:4:8-Tapped事件发生
12:4:8-PointerExited事件发生

当长按时:即righttap事件引发的触摸和指针事件如下:
12:6:15-PointerEntered事件发生
12:6:15-PointerPressed事件发生
12:6:15-ManipulationStarting事件发生
12:6:15-PointerMoved事件发生
12:6:15-PointerMoved事件发生
12:6:16-PointerReleased事件发生
12:6:16-RightTapped事件发生
12:6:16-PointerExited事件发生

关于各个指针事件的含义,大家根据名称也能意会,小梦刚才写的很详细,只不过没了,大家就直接参考MSDN文档吧。不过要注意:

每当触控操作产生 PointerPressed 事件时,该事件紧接在 PointerEntered 事件之后,并且所有事件数据对于这两个事件具有相同的信息(相同的指针 ID、相同的位置等)

PointerPressedPointerReleased事件并不总是成对出现的。您的应用程序应该倾听并处理可能得出一个指向下的动作(比如无论如何PointerExitedPointerCanceledPointerCaptureLost)。

下面演示一个通过指针事件和LIne控件实现的笔触画图实例:

首先定义一个画布:

<Canvas Name=”canvas”
Background=”Transparent”
PointerPressed=”canvas_PointerPressed”
PointerMoved=”canvas_PointerMoved”
></Canvas>

后台逻辑:

private Point currentPoint; //最新的,当前的点
private Point oldPoint;//上一个点 private void canvas_PointerPressed(object sender, PointerRoutedEventArgs e)
{
currentPoint = e.GetCurrentPoint(canvas).Position;
oldPoint = currentPoint;
} private void canvas_PointerMoved(object sender, PointerRoutedEventArgs e)
{
currentPoint = e.GetCurrentPoint(canvas).Position; Line line = new Line() { X1 = currentPoint.X, Y1 = currentPoint.Y, X2 = oldPoint.X, Y2 = oldPoint.Y }; line.Stroke = new SolidColorBrush(Colors.Red);
line.StrokeThickness = ;
line.StrokeLineJoin = PenLineJoin.Round;
line.StrokeStartLineCap = PenLineCap.Round;
line.StrokeEndLineCap = PenLineCap.Round;
this.canvas.Children.Add(line);
oldPoint = currentPoint;
}

如果对Line的属性不清楚,请参考MSDN:http://msdn.microsoft.com/library/windows/apps/system.windows.shapes.shape(v=vs.105).aspx

运行效果如下:

windows phone触控和指针源代码下载;点我下载哦!

Windows Phone 8.1开发:触控和指针事件2的更多相关文章

  1. Windows 8.1 应用开发 – 触控操作

    与WPF相同Windows 8.1应用中也具有高级触控操作(Manipulation),其中包含了三种常见的触屏手势:平移.缩放.旋转,通过以下四种事件可为控件实现各种触控操作:Manipulatio ...

  2. windows phone 8.1开发:触控和指针事件1

    原文出自:http://www.bcmeng.com/windows-phone-touch/ UIElement类的触控事件: ManipulationStarting:当用户将手指放在 IsMan ...

  3. c# 开发ActiveX控件,添加事件,QT调用事件

    c# 开发 ActiveX 的过程参考我的另一篇文章 :  https://www.cnblogs.com/baqifanye/p/10414004.html 本篇讲如何 在C# 开发的ActiveX ...

  4. Windows phone 8 学习笔记(1) 触控输入(转)

    Windows phone 8 的应用 与一般的Pc应用在输入方式上最大的不同就是:Windows phone 8主要依靠触控操作.因此在输入方式上引入一套全新的触控操作方式,我们需要重新定义相关的事 ...

  5. Windows phone 8 学习笔记(1) 触控输入

    原文:Windows phone 8 学习笔记(1) 触控输入 Windows phone 8 的应用 与一般的Pc应用在输入方式上最大的不同就是:Windows phone 8主要依靠触控操作.因此 ...

  6. 安卓Tv开发(一)移动智能电视之焦点控制(触控事件)

    前言:移动智能设备的发展,推动了安卓另一个领域,包括智能电视和智能家居,以及可穿戴设备的大量使用,但是这些设备上的开发并不是和传统手机开发一样,特别是焦点控制和用户操作体验风格上有很大的区别,本系列博 ...

  7. WPF触控程序开发(四)——MultiTouchVista_-_second_release_-_refresh_2的救赎

    起源 Multitouch是一款可用于Win7模拟触摸屏幕的开源软件(关于它的使用介绍),最后一次更新是在11年5月份,我是13年初开始用的,当时开发了一款类似IPhone相册的图片展示触控程序,就是 ...

  8. MSDN 杂志:UI 前沿技术 - WPF 中的多点触控操作事件

    原文  MSDN 杂志:UI 前沿技术 - WPF 中的多点触控操作事件 UI 前沿技术 WPF 中的多点触控操作事件 Charles Petzold 下载代码示例 就在过去几年,多点触控还只是科幻电 ...

  9. 3D触控简介:建立数字刻度应用及快速活动栏

    苹果公司通过 iPhone 6s 和 6s Plus 引入了与手机互动的全新方式:按压手势.你也许知道,苹果智能手表和苹果笔记本电脑早已具备这一功能,只是名称略有不同,为力感触控(Force Touc ...

随机推荐

  1. cvs上传复制项目

    现在想重用,特别是重用框架. cvs上传新项目:右键—>team—>share project,根据向导,可选在使用项目名为module名. cvs删除项目:直接在cvs服务器目录上删除项 ...

  2. 阿里云oss总是提示SignatureDoesNotMatch错误怎么办

    网上的所有阿里云oss(C#)的例子几乎试遍了,为什么还是提示SignatureDoesNotMatch错误?什么原因?怎么办?下载一个阿里云提供的windows客户端发现,依然提示签名错误. 开始怀 ...

  3. php 引入文件 include 和require

    php 如何引用文件? 先建一个php 文件,php文件名要和所建的类名相同, 然后直接在php 中用include("")/include"" 和requir ...

  4. iframe的优缺点?

    1.`<iframe>`优点: 解决加载缓慢的第三方内容如图标和广告等的加载问题 Security sandbox 并行加载脚本 2.`<iframe>`的缺点: *ifram ...

  5. CQOI2015 解题报告

    CQOI2015终于全做完了~~~,讲一下题吧 首先这套题比起其他省选还是比较水的,就是5道题比较蛋疼 T1:[CQOI2015]选数 这道题还是比较神的. 首先给个比较神的题解:popoqqq大神的 ...

  6. android学习18——对PathMeasure中getPosTan的理解

    考虑这样的场景:要实现物体沿直接或曲线运动的效果.这就要算出某个时刻t,物体的坐标.getPosTan就是用来求坐标的.看下面的代码: float step = 0.0001f; Path path ...

  7. linux oracle 10g tar.gz :xhost: unable to open display

    关于这个问题,最总要的一点是要理解xhost的作用,是干什么的,在下面的介绍中可以基本了解到,只要这个问题解决了,oracle就可以顺利安装了(这是建立在我还没碰到其它问题的基础上). 1. 以roo ...

  8. 自定义checkbox, radio样式

    17.2.25.nimil 今天开始做百度前端学院的任务,第一个是自定义checkbox, radio样式. checkbox和radio两个标签是不可以改变样式的,background-color. ...

  9. iOS 创建一个在退出登录时可以销毁的单例

    一.单例简介 单例模式是在软件开发中经常用的一种模式.单例模式通俗的理解是,在整个软件生命周期内,一个类只能有一个实例对象存在. 二.遇到的问题 在平时开发使用单例的过程中,有时候会有这样的需求,在用 ...

  10. 《剑指offer》— JavaScript(21)栈的压入、弹出序列

    栈的压入.弹出序列 题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5, ...