设为首页 收藏本站
查看: 716|回复: 0

Windows Phone 7 编程实践 基础篇—多点触控示例(Silverlight)

[复制链接]

尚未签到

发表于 2015-5-9 09:31:41 | 显示全部楼层 |阅读模式
DSC0000.jpg

作品目标:Windows Phone 7 开发的实用手册

Windows Phone 7 编程实践

第一篇  基础篇
第一章  开启创新之门
第二章  横向和纵向视图
第三章  简单触控和多点触控(多点触控示例)
第四章  传感器和服务
第五章  全球化(全球化示例)
第二篇  Silverlight篇
第一章  应用程序菜单栏(应用程序菜单栏示例)
第二章  页面导航和异常处理
第三章  隔离存储空间
第四章  推送通知(动态区块推送通知示例、云计算推送通知)
第五章  必应地图控件
第六章  数据绑定
第七章  动画和多媒体(影音Hub示例)
第八章  全景和枢轴(全景Panorama/枢轴Pivot示例)
第九章  任务(Task)
第十章  墓碑机制实现多任务(多任务示例)
第十一章  MVVM设计模式的应用
第十二章  XNA的应用
第三篇  XNA篇
第一章  XNA Game Studio游戏开发基础框架
第二章  2D游戏中的触摸和手势
第三章  2D游戏中的消息发送和墓碑机制
第四章  XNA Game Studio 3D游戏开发基础

参考资料:
Programming Windows Phone 7
MSDN Library -- Windows Phone Development
UI Design and Interaction Guide for Windows Phone 7 v2.0
Designing Web Sites for Phone Browsers
Develop for Windows Phone & XBOX 360 Code Sample
Windows Phone 7 Application Certification Requirements

在本书的整理过程中,力求从深度和不同的侧面诠释Windows Phone的开发技术。由于个人能力和水平有待提高,很多问题的分析还很肤浅。敬请各位不吝赐教,提出改进建议。

改变并不是一件坏事情,所有的改变都是为了更好。改变一切的关键就是视角。我的目标:用科技改变我所认知的世界。
改版声明:本系列原名称为Programming_Windows_Phone_7 读书笔记,随着认知的更新和代码实践的增加,想与大家分享的更多的是具体的代码示例,因此将整个系列的名称改为Windows Phone 7 编程实践,也将整个系列的重点放在具体可用的示例上,而非原先仅仅认知就可以了的目标上。同时这个改变也是我个人研究重点正式的改变,近期内所有的研究都围绕着Windows Phone 7的开发上,这也是我人生历程中职业生涯的重要改变。

Silverlight的多点触控

告别简单的手势识别,通过对复杂的手势的反馈带给操作者的感受无异于驾驭F1驰骋。
动手实践


下载代码ManipulationProject
新建一个Visual C#的Windows Phone工程,工程名称为ManipulationProject。

DSC0001.jpg 将下面的XAML代码加入到MainPage.xaml中。


这段代码的作用是在画布上创建了一个蓝色的的矩形。应用程序订阅了ManipulationDelta事件,对于该事件的响应代码中包含的移动矩形的控制逻辑。


   
   
在MainPage类中, 添加如下的变量。


private TransformGroup transformGroup;
private TranslateTransform translation;
private ScaleTransform scale;
在MainPage.xaml中添加ManipulationDelta事件处理程序Canvas_ManipulationDelta


如图在MainPage.xaml中点击右键,选择"Properties"。
DSC0002.jpg

在"Event"中设置ManipulationDelta的响应事件Canvas_ManipulationDelta。

DSC0003.jpg

设置完毕后,我们会在MainPage类中看见下面的代码被自动添加:

privatevoid Canvas_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{

}添加下面的代码到MainPage的构造函数中


this.transformGroup = newTransformGroup();
this.translation = newTranslateTransform();
this.scale = newScaleTransform();

this.transformGroup.Children.Add(this.scale);
this.transformGroup.Children.Add(this.translation);
this.rectangle.RenderTransform = this.transformGroup;

在MainPage类,ManipulationDelta事件处理程序Canvas_ManipulationDelta中添加以下代码。
在手指操作期间ManipulationDelta事件发生时触摸输入更改位置可能发生多次。例如,如果用户手指拖动屏幕,ManipulationDelta事件发生多次作为手指移动。
privatevoid Canvas_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
        {
// Scale the rectangle.
if ((e.DeltaManipulation.Scale.X == 0) || (e.DeltaManipulation.Scale.Y == 0))
            {
// Increase ScaleX and ScaleY by 5%.
this.scale.ScaleX *= 1.05;
this.scale.ScaleY *= 1.05;
            }
else
            {
this.scale.ScaleX *= e.DeltaManipulation.Scale.X;
this.scale.ScaleY *= e.DeltaManipulation.Scale.Y;
            }

// Move the rectangle.
this.translation.X += e.DeltaManipulation.Translation.X;
this.translation.Y += e.DeltaManipulation.Translation.Y;

        }
编译并运行程序


屏幕上蓝色的矩形等着您的触摸。
DSC0004.jpg
测试应用程序

试一试复杂的手势变化,尝试Windows Phone的互动体验。

  • 移动矩形,你的手指放在该矩形,并在屏幕上移动手指。
  • 若要调整大小的矩形,把两个手指放在矩形上缩小和延伸(Pinch and Stretch),如下图。


DSC0005.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-65154-1-1.html 上篇帖子: Windows Phone 7 MVVM模式的学习笔记 下篇帖子: Windows Phone 7“NoDo”更新推迟“芒果”更新不受影响
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表