Windows Phone 上的触控手势

Windows Phone 上的触控手势

ID:40490231

大小:36.42 KB

页数:7页

时间:2019-08-03

Windows Phone 上的触控手势_第1页
Windows Phone 上的触控手势_第2页
Windows Phone 上的触控手势_第3页
Windows Phone 上的触控手势_第4页
Windows Phone 上的触控手势_第5页
资源描述:

《Windows Phone 上的触控手势》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、WindowsPhone上的触控手势CharlesPetzold下载代码示例有人在工作中花费大量的时间来观察API的发展变化,而我却一直醉心于多点触控在广袤的API领域所占据的一隅之地。我不确定我是否需要统计分散在WindowsPresentationFoundation(WPF)、MicrosoftSurface、Silverlight、XNA和WindowsPhone中的不同多点触控API的数量,但是很明显,多点触控的“统一理论”仍然难以实现。当然,对于一种相对仍很年轻的技术来说,存在这么多的触

2、控API也不足为奇。而且,多点触控比鼠标要复杂得多。这部分是因为多个手指的潜在交互,但它也反映了纯人工设备(如鼠标)与人类的手指之间的差异。我们人类一生都在使用我们的手指,即使我们触摸视频显示器的光亮的表面,我们也希望它们通过众所周知的方式与世界交互。WindowsPhone7为应用程序编程人员定义了4种不同的触控界面。为WindowsPhone7编写的Silverlight应用程序可以选择通过静态Touch.FrameReported事件获取低级触控输入,或者通过各种Manipulation路由事

3、件获取高级输入。这些Manipulation事件主要是WPF中相似事件的一个子集,但是它们之间的差异足以令人头痛。WindowsPhone7的XNA应用程序使用静态的TouchPanel类获取触控输入,但是该类实际上整合了两个触控界面:GetState方法获取低级手指活动,而ReadGesture方法获取高级手势。ReadGesture方法支持的手势不是笔针样式的手势,如对号和圆。它们是非常简单的手势,由Tap、Drag和Pinch等名称描述。为了与XNA体系结构保持一致,触控输入由应用程序轮询,而

4、不是通过事件传送。Silverlight中添加了手势功能我自然地假设SilverlightforWindowsPhone7已经具有足够多的多点触控API,因此看到组合中又添加了一个API,我感到非常惊讶—虽然包含这个API的工具包上市得太晚,以致我未能在编写《ProgrammingWindowsPhone7》(MicrosoftPress,2010)一书时介绍它。您可能知道,在过去的几年里发布的WPF和Silverlight的各种版本已由通过CodePlex发布的工具包做出了补充。这些工具包使得Mi

5、crosoft能够为“常规发送圈”之外的开发人员提供新的类,并且经常给我们提供抢先了解未来版本可能会纳入的框架增强功能的机会。完整的源代码是它的另一个优点。WindowsPhone7现在也从此自定义功能中受益。SilverlightforWindowsPhone工具包(可从silverlight.codeplex.com中下载)包含WindowsPhone7用户已经熟悉的DatePicker、TimePicker和ToggleSwitch控件,以及WrapPanel(便于处理手机方向更改);此外还支

6、持多点触控手势。在工具包中新增此Silverlight手势支持旨在提供与XNATouchPanel.ReadGesture方法相似的功能,但它是通过路由事件而不是轮询实现的。它有多相似?比我期望的要高很多!看一下源代码,我非常吃惊地发现这些新的Silverlight手势事件完全是由对XNATouchPanel.ReadGesture方法的调用派生而来的。我也不会想到WindowsPhone上的Silverlight应用程序会被允许调用此XNA方法,但事实就是这样。尽管Silverlight和XNA手

7、势非常相似,但是与手势相关的属性却不相似。例如,XNA属性使用的是矢量,而Silverlight不包含Vector结构(我觉得这是一个荒谬的遗漏),所以必须按照某些简单的方式为Silverlight重新定义属性。由于我一直在使用这些手势事件,因此它们已经成为我最喜欢的用于SilverlightforWindowsPhone的多点触控API。我发现它们对于我需要做的来说非常全面,而且使用起来也非常简单。让我给这些手势分配一些实际工作来演示一下。手势服务和侦听器本专栏的所有源代码都包含在名为Gestur

8、eDemos的可下载VisualStudio解决方案中,此解决方案包含三个项目。您需要安装WindowsPhone7开发工具,当然,还有SilverlightforWindowsPhone工具包。安装工具包后,您可以通过添加对Microsoft.Phone.Controls.Toolkit程序集的引用来在您自己的WindowsPhone项目中使用它。在“添加引用”对话框中,它将列在“.NET”选项卡的下面。然后,在XAML文件中,您需要如下所示的XML命名空间声明(但

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。