Windows Phone 7 开发探索笔记1——触控操作之Touch

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 10:28 点击:

 在Silverlight for Windows Phone中,我们有多种方法来获取设备触摸信息并对其进行控制。与此最密切相关的是以下几个事件和定义在 UIElement中的 ManipulationStarted,ManipulationDelta 和 ManipulationCompleted。本节只讲解Touch.FrameReported事件。

一.Touch.FrameReported事件

    Touch.FrameReported事件提供了应用程序级的服务,是Silverlight for Windows Phone中提供的底层触控编程接口。我们可以通过它来获取操作系统或整个应用程序中每个触控点的信息。Touch是一个静态类,它只包含一个静态成员就是windows.input.touch.framereported%28v=VS.95%29.aspx">FrameReported事件。在程序中对此事件进行订阅时可以通过事件处理程序中的TouchFrameEventArgs参数获得我们想要的数据。

类包含以下成员(图片来自MSDN):

 

  \

    其中黄色的为TouchFrameEventArgs自身的成员。先来看GetTouchPoints方法,它会返回一个触控点的集合,当你的Windows Phone 7应用程序需要用多个手指来操作,同时你要清楚的知道每个手指所在的具体位置时它会非常有用。接下来是GetPrimaryTouchPoint方法,它返回的是主触控点(解惑主触摸点: 只有一个手指触摸屏幕时,这个触控点才叫做主(Primary)触控点。如果我们用一个手指触摸屏幕时,它一定是主点。在第一个手指仍触摸着屏幕时,将第二个手指放在屏幕上。很显然,第二个手指不是主触控点。但现在如果仍将第二个手指放在屏幕上,抬起第一个手指,然后再将其放回到屏幕上。它还是主触控点吗?不是!主触控点只会在没有其他手指触摸屏幕时才出现。)GetPrimaryTouchPoint和GetTouchPoints这两个方法都需要一个UIElement类型的参数,并且都返回与相关的信息。下面我们来看看TouchPoint类的属性:

 

  \

TouchPoint是在屏幕上触摸的手指的一个抽象。它有4个只读属性:

Action类型为TouchAction枚举,包含3个值:Down,,Move和Up

Position类型为Point,它是相对于引用元素的左上角而言的,这里说的引用元素就是刚才提到的GetPrimaryTouchPoint和GetTouchPoints的UIElement参数,如果传入的参数是null,那么得到的Position就是相对于屏幕的左上角的(在传入非null值时,Position中的数据很有可能会是负的)。

Size类型是Size,它是要计算出屏幕中被触摸的一个矩形区域,不过这个属性好像并不能获取有效的值,在我的演示程序中它的Width和Height属性始终是1(也许是因为在模拟器上运行的原因)。

TouchDevice类型TouchDevice,它包含2个

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Windows Phone 项目实战之我的微盘(下)
    • Windows Phone 实用开发技巧(26):对DataTemplate中的元素播放
    • Windows Phone 实用开发技巧(25):Windows Phone读取本地数据
    • Windows Phone 实用开发技巧(27):创建透明Tile
    • Windows Phone 知识锦(12月版)
    • Windows Phone实用开发技巧(31):密码加密
    • Windows Phone 项目实战之我的微盘(上)
    • WP7实例篇之土豆搜索器(2)
    • [翻译]WP7 QuickStart-第七篇-布局
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1