标题：Windows Phone 7程序设计
基本信息
作者： (美)Charles Petzold [作译者介绍] 
译者： 林永坚 姜泳涛 李鹏  [1]出版社：人民邮电出版社 
ISBN：9787115269232
上架时间：2011-12-14
出版日期：2012 年1月
开本：16开
页码：1
版次：1-1
所属分类： 计算机
内容简介
《windows phone 7程序设计》共分为两个部分。第一部分通过一些示例程序介绍了windows phone 7 编程的基本概念，包括windows phone 7 的安装环境、系统需求、silverlight、xna、方向处理、触摸、位图、传感器和服务以及应用框架问题。第二部分主要介绍silverlight，包括xaml 的威力和限制、元素和属性、布局、控件、依赖属性、数据绑定、矢量图形、栅格图形、动画和模板等内容。
《windows phone 7程序设计》适合具备一定基础，并且对windows phone 7 程序设计感兴趣的人阅读。
作译者
Charles Petzold
Windows编程大师、世界顶级技术作家、微软资深MVP，拥有25年的Windows编程经验。1994年5月，Petzold作为唯一的作家，获得 由微软公司和Window Magazine授予的Windows 先锋奖（仅7人获奖），其讲授Windows开发的非凡成就得到了公认。直到今天，他依然是Windows GDI 程序设计首席技术作家。
他出版过十几本著作，其中，《Windows程序设计》是尽人皆知的Win32 API编程经典，《编码》、《图灵的秘密》等作品也深受好评。
林永坚
微软Windows Phone MVP、MSDN Webcast讲师。
目录
《windows phone 7程序设计》 
第一部分 基础知识 
第1 章 hello，windows phone 7 　2 
1.1 windows phone 7 目标平台　2 
1.2 硬件规格　4 
1.3 感应器和服务　6 
1.4 文件新建项目　6 
1.5 第一个silverlight 手机程序　7 
1.6 标准silverlight 文件　9 
1.7 主题颜色　15 
1.8 点和像素　16 
1.9 xap 就是zip　 18 
1.10 windows phone 的xna 程序　18 
第2 章 方向处理　25 
2.1 silverlight 与动态布局　25 
2.2 方向事件　31 
2.3 xna 方向　32 
2.4 简易时钟　35 
第3 章 触摸简介　40 
3.1 xna 的底层触摸处理　40 
.3.2 xna 手势接口　43 
3.3 silverlight 底层触摸事件　45 
3.4 manipulation 事件　48 
3.5 路由事件　51 
3.6 怪异的行为　53 
第4 章 位图　54 
4.1 xna 纹理绘图　55 
4.2 silverlight 中的image 元素　57 
4.3 通过web 获取的图像　58 
4.4 image 和imagesource　60 
4.5 利用代码加载本地位图　62 
4.6 从相机捕获　63 
4.7 手机图片库　66 
第5 章 传感器与服务　70 
5.1 加速计　70 
5.2 简单的气泡水平仪　75 
5.3 地理位置（服务） 　80 
5.4 使用地图服务　83 
第6 章 应用程序架构　90 
6.1 基本导航　90 
6.2 页面间传递数据　96 
6.3 页面间数据共享　98 
6.4 保留多个实例的数据　103 
6.5 多任务之梦　105 
6.6 windows phone 的任务切换　105 
6.7 页面状态　107 
6.8 独立存储　110 
6.9 xna 的墓碑化和设置　114 
6.10 测试和实验　119 
第二部 分 silverlight 
第7 章 xaml 的威力和局限　122 
7.1 代码中的textblock　123 
7.2 属性继承　125 
7.3 属性元素语法　126 
7.4 颜色和画刷　127 
7.5 内容和内容属性　133 
7.6 资源集合　136 
7.7 共享画刷　137 
7.8 x:key 和x:name　140 
7.9 样式简介　141 
7.10 样式继承　142 
7.11 主题　143 
7.12 渐变强调　144 
第8 章 元素与属性　146 
8.1 基本形状　146 
8.2 变换　148 
8.3 类视频动画　155 
8.4 处理manipulation 事件　156 
8.5 border 元素　158 
8.6 textblock 的属性和内联　161 
8.7 深入解析image　164 
8.8 播放视频　166 
8.9 opacity 模式　167 
8.10 非平铺tile 画刷　169 
第9 章 布局的复杂性　170 
9.1 唯一单元格grid　171 
9.2 stackpanel 栈　173 
9.3 stackpanel 中的文本串联　176 
9.4 嵌套面板类　178 
9.5 visibility 与布局　180 
9.6 两个scrollviewer 应用程序　181 
9.7 布局机制　187 
9.8 深入理解面板类　189 
9.9 复制只包含一个单元格的grid 　190 
9.10 自定义垂直的stackpanel 　193 
9.11 复古的canvas 　195 
9.12 canvas 与zindex　200 
9.13 canvas 和触摸处理　201 
9.14 强大的grid　202 
第10 章 app bar 和控件　205 
10.1 applicationbar 图标　205 
10.2 jot 和application 设置　212 
10.3 jot 和touch　216 
10.4 jot 和applicationbar　218 
10.5 elements 和controls　223 
10.6 rangebase 和slider　 225 
10.7 基础button　230 
10.8 content 概念　 233 
10.9 主题样式和优先级　 237 
10.10 button 层次结构　 238 
10.11 切换运行的秒表　 240 
10.12 按钮和样式　 249 
10.13 textbox 和键盘输入　 251 
第11 章 依赖属性　 259 
11.1 问题说明　 259 
11.2 依赖属性的特别之处　 262 
11.3 继承usercontrol 271 
11.4 新型开关按钮　280 
11.5 带属性的面板　285 
11.6 附加属性　290 
第12 章 数据绑定　 295 
12.1 绑定源与目标　 295 
12.2 target 和mode　 297 
12.3 绑定转换器　 300 
12.4 相对绑定源 　305 
12.5 this 绑定源　 305 
12.6 通知机制　 309 
12.7 简单的绑定服务　 310 
12.8 datacontext 设置　 315 
12.9 简单的判断 　320 
12.10 转换器及其属性　 323 
12.11 获取与设置　327 
12.12 textbox 的绑定更新　 333 
第13 章 矢量图形　 345 
13.1 shape 库　 345 
13.2 canvas 和grid　 346 
13.3 overlapping 和zindex 　 348 
13.4 polyline 和自定义曲线　 349 
13.5 cap、join 和dash　354 
13.6 polygon 和fill　 361 
13.7 stretch 属性　 363 
13.8 动态多边形　364 
13.9 path 元素　366 
13.10 geometry 和transform 　372 
13.11 复合几何图形　377 
13.12 全能的pathgeometry 　377 
13.13 arcsegment 属性　379 
13.14 贝塞尔曲线　387 
13.15 path 标记语法　396 
13.16 本章的来源　400 
第14 章 光栅图形　406 
14.1 位图类继承关系　406 
14.2 writeablebitmap 和uielement　408 
14.3 像素位　414 
14.4 位图上的矢量图形　418 
14.5 图形与墓碑化　423 
14.6 保存到图片库　431 
14.7 成为照片扩展程序　438 
第15 章 动画　449 
15.1 基于帧与基于时间　449 
15.2 动画目标　452 
15.3 单击和旋转　453 
15.4 一些修改　456 
15.5 基于xaml 的动画　460 
15.6 告诫　462 
15.7 关键帧动画　469 
15.8 loaded 事件触发器　472 
15.9 附加属性（非附加属性）动画　480 
15.10 样条曲线和关键帧　485 
15.11 反弹球问题　493 
15.12 渐变函数　497 
15.13 透视变形动画　502 
15.14 动画和属性优先级　508 
第16 章 两类模板　512 
16.1 contentcontrol 和datatemplate　512 
16.2 检查可视化树　517 
16.3 controltemplate 基础　521 
16.4 visual state manager 　531 
16.5 style 和template 的共享和重用　540 
16.6 库中的自定义控件　543 
16.7 slider 的变体　548 
16.8 方便易用的thumb　558 
16.9 自定义控件　562 
第17 章 项集合控件　568 
17.1 项集合控件和可视化树　569 
17.2 自定义项的显示　576 
17.3 listbox 选中　580 
17.4 itemssource 绑定　584 
17.5 数据库和业务对象　589 
17.6 妙趣横生的datatemplate 　606 
17.7 排序　609 
17.8 更改panel 　614 
17.9 datatemplate 条形图　616 
17.10 显示完整的卡片档　622 
第18 章 pivot 和panorama 　633 
18.1 pivot 和panorama 的对比　633 
18.2 作曲家音乐播放器　644 
18.3 与xna 关联　647 
18.4 xna 音乐类：medialibrary 　649 
18.5 显示专辑　654 
18.6 xna 音乐类：mediaplayer 　659
译者序
这是一本由Windows编程大师Charles Petzold为Windows Phone开发者编写的书。这是一本使读者知其然亦知其所以然，深入剖析Silverlight for Windows Phone原理的书。这本书深入介绍了XAML、布局原理、依赖属性、数据绑定、矢量图与光栅图、动画、模板和项集合控件等Silverlight相关知识。同时也讲述了屏幕方向处理、触摸与手势处理、感应器与相关服务、页面导航、独立存储和墓碑化等Windows Phone特有的内容。如果你想开发Silverlight for Windows Phone应用程序，也想深入学习相关原理，请阅读本书。如果你在开发中遇到Windows Phone相关问题，相信你可以从本书中找到答案。 
本书英文版本推出之际，Mango版本并未发布，因此本书中的内容并未涉及Mango更新后的相关技术，不过这并不影响本书的时效性，因为Mango中绝大部分的技术并没有本质上的变化，而本书又重在讲解原理。我们在翻译过程中也已尽量说明Mango版本与书中版本的差异，涉及版本变化的地方都通过译者注提醒读者注意。因此，在相当一段时间内，本书都可以作为Windows Phone开发的必备读物。 
本书从拿到原稿到翻译完成，历时9个月，在此期间，我们充分体会到了一个技术译者的艰辛。从每一章的初译、自审、互审到最终定稿，每个环节都必须小心翼翼，唯恐亵渎了大师的杰作，更怕有负读者的信任。9个月的经历使我们充分认识到，技术图书的翻译工作考验的绝不仅仅是译者的技术功底和英文水平，更多的是译者的毅力、耐力，甚至体力。当然，在此期间我们也收获了许多感动。 
本书引进之初，有幸得到刘江老师的引荐，胡德民先生的大力推动，谢工和杨海玲的大力支持，正是他们的帮助才促使本书成功引入国内，并达成翻译意向，在此深表感谢。感谢李松峰在翻译过程中提供的无私帮助，以及对我们延迟交稿的一再宽容与理解。感谢李静编辑在交稿后期耐心细致的编辑及各方面的积极配合。 
为了保证译稿的最终质量，我们又邀请了多位在微博、社区比较活跃的Windows Phone开发者进行了试读、审阅，并根据反馈作出最后修订。他们的无私奉献，极大地提高了终稿质量，在此一并表示感谢（排名不分先后，以姓氏为序）。 
柴晓伟（@windieChai）、陈凯（@chenkaiHome）、干泽斌（@MoHoo-书中圣）、高雪松（@_雪松_）、李靖南（@纳米咖啡）、李敬然（@李敬然-Gnie）、廖兰胜（@wp7er）、刘伟（@牧羊人WindowsPhone7）、刘钊（@WindowsPhone_刘钊）、栾轩（@mike老栾）、朴春植（@贝壳笨）、沈文琪（@歌剧迷）、施炯（@ dearsj001-施炯）、田永智（@我在玩饭否）、徐水峰（@徐水峰）、严飞（@飞雁无影）、俞仁杰（@RangerYu）、翟凡（@翟凡zf）、张栓虎（@MxMxM）、张崟（@金山崟霸）、周岳（@德先生与赛先生）、张欣（@张欣丨WPMind）。 
当然，还要感谢父母，没有他们就没有我们及这本书；感谢家人的体谅，为了翻译这本书牺牲了很多与他们共处的时间；感谢多年支持我们的朋友，你们的支持是我们前进的动力。 
最后，我们想要告诉你：作为译者，我们已经尝试各种手段避免缪误，但毕竟初次译书经验有限，疏漏之处在所难免，还望海涵。当然，我们更期待读者能将发现的错误反馈给我们，以便我们整理勘误，避免误导更多人。 
也欢迎读者通过微博或博客与我们交流。 
译者 
2011年12月
序言
中文版序一 
随着云计算技术的落地和移动网络带宽的提高，移动互联网迎来了一个高速发展的新时代。借助云端强大的数据计算、存储、挖掘和整合能力，整个移动互联网的格局正在发生翻天覆地的变化。移动终端将不仅仅作为一个通讯工具，而且会变成强大的云计算的终端之一。 
基于这个目标，未来对手机的要求也越来越高。需要手机变得越来越智能，功能越来越丰富，操作越来越便捷，与网络的整合越来越紧密。为了实现这些需求，必须有一个优秀的操作系统做支撑。 
国内外各大移动互联网厂商都很敏锐地意识到了这一点。微软作为老牌的智能系统领航者，对此也投入了极大的热情，推出了“以人为本”的智能手机——Windows Phone，其独特的设计风格Metro为用户带来了全新的体验，简约、大气、智能、易用，更符合现代用户越来越高的需求。随着诺基亚等各大手机制造商加入微软阵营，Windows Phone的前景也愈发光明。 
对终端用户而言，除了优秀的操作系统平台以外，他们更关心是否有足够的高质量应用程序。这也正是广大Windows Phone开发者的机遇，迅速掌握相关开发技术，快速高效地开发出高质量的Windows Phone应用程序是每位开发者的目标。本书是Charles Petzold大师的杰作，一定能帮助开发者更快、更好地实现这个目标，引领开发者步入Windows Phone开发领域。愿本书帮助中国的Windows Phone开发者实现梦想！ 
微软（中国）有限公司技术顾问总监赵立威 
2011年12月
中文版序二
如果你曾经使用过基于微软Windows Mobile操作系统的智能手机，要问它给你留下的印象，我猜你的回答很有可能是“它像一台电脑”。是的，11年前微软利用自己在PC方面的大量经验和技术，为大家带来了Pocket PC，然后是Windows Mobile系列的移动设备操作系统。Pocket PC的特点就是像“电脑”一样无所不能，你可以用它完成简单的日常办公，也可以用它玩游戏，甚至在大量的行业应用中也能看到它的身影。 
但是，随着苹果公司iPhone的出现，这一切慢慢发生了变化。越来越多的手机操作系统开始注重起了普通消费者的日常应用需求。以iPhone、Android等为代表的新一代智能手机正在迅速地蚕食微软Windows Mobile的市场份额。起初微软也曾经考虑过在Windows Mobile 6.x的基础上继续研发新一代的移动操作系统，但是他们很快就发现这太不现实。Windows Mobile系统身上背负的历史包袱太重，已无力承担现代的智能移动操作系统的重任。微软急需一种能够真正抓住消费者需求的新型移动操作系统来挽回市场，Windows Phone 7操作系统适时而生，于2010年10月上市。 
起初Windows Phone 7只支持5种语言（英语、法语、德语、意大利语和西班牙语），而用户也只能在17个国家和地区购买和下载应用程序。随着2011年Mango更新包的发布，Windows Phone的版本号升级为7.5，支持的语言也达到了25种，Windows Phone Marketplace支持的国家和地区也达到了35个。Windows Phone Marketplace中的软件数量也顺利地突破了40 000大关。 
到目前为止，尽管Windows Phone还没有在中国大陆上市，但是它已经向中国的开发者开放。你可以到App Hub（）上注册一个开发者账号，将应用提交到Windows Phone Marketplace上，从而获得收益。App Hub采用了和苹果类似的做法：你需要支付99美金的年费，并且微软会从你在Windows Phone Marketplace上销售软件所得收益中拿走30%。 
面对App Store中的上百万个应用，名不见经传的应用很难脱颖而出。同时，Android的几百个不同的市场又会让你面临着如何分发和销售应用的难题。作为开发人员，如果你想靠编写应用来赚钱，那么现在是时候考虑Windows Phone了。 
Windows Phone支持Silverlight for Windows Phone和XNA两种框架。前者主要用来快速开发各种Windows Phone上的应用，这也是本书的重点部分；如果你的兴趣更多的是编写游戏的话，后者应该是你关注的内容。本书英文原版知识覆盖全面、示例清晰易懂，出版后一直被Windows Phone开发者奉为宝典。感谢人民邮电出版社的大力引进，同时感谢三位译者在翻译本书过程中付出的辛勤劳动。 
不用再等待什么了，快点打开本书和电脑，开始你的第一个Windows Phone应用程序吧！ 
微软MVP 张欣