Windows Phone 8.1开发:触控和指针事件2
原文出自: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、相同的位置等)
PointerPressed和PointerReleased事件并不总是成对出现的。您的应用程序应该倾听并处理可能得出一个指向下的动作(比如无论如何PointerExited,PointerCanceled和PointerCaptureLost)。
下面演示一个通过指针事件和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的更多相关文章
- Windows 8.1 应用开发 – 触控操作
与WPF相同Windows 8.1应用中也具有高级触控操作(Manipulation),其中包含了三种常见的触屏手势:平移.缩放.旋转,通过以下四种事件可为控件实现各种触控操作:Manipulatio ...
- windows phone 8.1开发:触控和指针事件1
原文出自:http://www.bcmeng.com/windows-phone-touch/ UIElement类的触控事件: ManipulationStarting:当用户将手指放在 IsMan ...
- c# 开发ActiveX控件,添加事件,QT调用事件
c# 开发 ActiveX 的过程参考我的另一篇文章 : https://www.cnblogs.com/baqifanye/p/10414004.html 本篇讲如何 在C# 开发的ActiveX ...
- Windows phone 8 学习笔记(1) 触控输入(转)
Windows phone 8 的应用 与一般的Pc应用在输入方式上最大的不同就是:Windows phone 8主要依靠触控操作.因此在输入方式上引入一套全新的触控操作方式,我们需要重新定义相关的事 ...
- Windows phone 8 学习笔记(1) 触控输入
原文:Windows phone 8 学习笔记(1) 触控输入 Windows phone 8 的应用 与一般的Pc应用在输入方式上最大的不同就是:Windows phone 8主要依靠触控操作.因此 ...
- 安卓Tv开发(一)移动智能电视之焦点控制(触控事件)
前言:移动智能设备的发展,推动了安卓另一个领域,包括智能电视和智能家居,以及可穿戴设备的大量使用,但是这些设备上的开发并不是和传统手机开发一样,特别是焦点控制和用户操作体验风格上有很大的区别,本系列博 ...
- WPF触控程序开发(四)——MultiTouchVista_-_second_release_-_refresh_2的救赎
起源 Multitouch是一款可用于Win7模拟触摸屏幕的开源软件(关于它的使用介绍),最后一次更新是在11年5月份,我是13年初开始用的,当时开发了一款类似IPhone相册的图片展示触控程序,就是 ...
- MSDN 杂志:UI 前沿技术 - WPF 中的多点触控操作事件
原文 MSDN 杂志:UI 前沿技术 - WPF 中的多点触控操作事件 UI 前沿技术 WPF 中的多点触控操作事件 Charles Petzold 下载代码示例 就在过去几年,多点触控还只是科幻电 ...
- 3D触控简介:建立数字刻度应用及快速活动栏
苹果公司通过 iPhone 6s 和 6s Plus 引入了与手机互动的全新方式:按压手势.你也许知道,苹果智能手表和苹果笔记本电脑早已具备这一功能,只是名称略有不同,为力感触控(Force Touc ...
随机推荐
- ROM、RAM、DRAM、SRAM和FLASH的区别
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是 ...
- 蓝桥网试题 java 基础练习 十六进制转八进制
- -------------------------------------------------------------------------------------------------- ...
- 简学Python第二章__巧学数据结构文件操作
#cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...
- linux目录下各文件夹作用
作为一个程序员,我们难免会接触到linux系统,特别是后台程序员,因为现在项目的部署环境基本都是在linux系统上进行的,所以了解linux系统是十分重要的,虽然我接触了linux系统已经有一段时 ...
- 获取app崩溃信息的途径 iOS
获取崩溃日志的几种方法: 1.当用户抱怨闪退时,你可以要求他让设备与iTunes同步,设备与电脑上的iTunes Store同步后,会将崩溃日志保存在电脑上(路径:Mac OS X:~/Library ...
- Cassandra 学习笔记 - 1 - 关于Cassandra
摘要 - Cassandra 的历史 Cassandra能做什么 Apache Cassandra最早是Facebook为了改进他们的Inbox搜索功能,由Avanash Lakshman和Prash ...
- android学习16——library project的使用
library project和普通的project没有区别.用如下命令新建的一个工程. android create project --target 3 --name MyActivity --p ...
- 推荐一款好用的WSL终端模拟器
Windows 10 中包含了一个 WSL(Windows Subsystem for Linux)子系统,我们可以在其中运行未经修改过的原生 Linux ELF 可执行文件.利用它我们可以做很多事情 ...
- Java集合框架之三:HashMap源码解析
版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! HashMap在我们的工作中应用的非常广泛,在工作面试中也经常会被问到,对于这样一个重要的集合模型我们有必要弄清楚它的使用方法和它底层的实 ...
- 用Ajax实现自动刷新news功能
这是Ajax应用的一个小实例:在页面中自动刷新功能,比如整个新闻页面中某一个小版块的内容,无需刷新整个页面就可以自动更新: 1.首先创建简单的页面元素: <body> <input ...