第1章 准备工作 1
1.1 安装Visual Studio开发环境 1
1.2 Visual Studio个性设置 1
1.2.1 选择颜色主题 2
1.2.2 设置字体 3
1.2.3 设置启动界面 4
1.2.4 设置项目的默认存放路径 5
1.2.5 用好“快速启动”功能 5
1.3 通用应用 6
1.3.1 新的XAML设计器 9
1.3.2 如何使用特定平台的API 9
1.4 使用帮助文档和示例代码 12
第2章 了解应用程序项目 14
2.1 应用程序项目的文件结构 14
2.2 应用程序入口点 15
2.3 应用程序生命周期 16
2.3.1 Application类 16
2.3.2 挂起与恢复 20
2.4 清单文件 26
第3章 页面导航 29
3.1 实现导航 29
3.2 导航事件 31
3.3 传递导航参数 35
3.4 管理导航记录 37
3.5 处理手机上的“后退”键 43
3.6 缓存页面实例 45
3.7 保存和恢复导航状态 48
第4章 排版布局 50
4.1 网格布局 50
4.2 栈布局 54
4.3 按坐标布局 55
4.4 Z顺序 57
4.5 对齐方式 59
4.6 边距 62
4.7 自适应布局 63
4.8 自适应触发器 66
第5章 控件 69
5.1 Control类 69
5.1.1 控件模板 70
5.1.2 控件状态 73
5.1.3 获取控件的状态列表的技巧 76
5.2 路由事件 78
5.3 按钮 82
5.3.1 Button 82
5.3.2 RepeatButton 83
5.3.3 HyperlinkButton 85
5.4 单选框与多选框 86
5.5 呈现静态文本 88
5.5.1 TextBlock 88
5.5.2 RichTextBlock 90
5.5.3 处理文本溢出 92
5.5.4 嵌入自定义字体 96
5.6 显示图像 96
5.7 文本输入控件 100
5.7.1 TextBox 100
5.7.2 RichEditBox 103
5.8 选取日期和时间 105
5.9 ViewBox控件 107
5.10 报告进度 108
5.10.1 ProgressBar 108
5.10.2 ProgressRing 109
5.11 对话框 110
5.11.1 MessageDialog 110
5.11.2 ContentDialog 113
5.12 上下文菜单 117
5.12.1 PopupMenu 117
5.12.2 MenuFlyout 118
5.13 应用程序栏 120
5.14 命令 122
5.15 开关控件 124
5.16 滑动条 125
5.17 用户控件 126
5.18 自定义控件 129
5.19 WebView控件 136
5.19.1 呈现HTML内容 136
5.19.2 执行脚本函数 137
5.19.3 捕捉HTML内容 141
5.20 Split View控件 142
第6章 数据视图 146
6.1 数据绑定 146
6.1.1 绑定方向 146
6.1.2 Binding类 147
6.1.3 Binding扩展标记 149
6.1.4 数据绑定的继承性 151
6.1.5 转换器 153
6.1.6 更改通知 155
6.2 Items Control控件 159
6.3 DisplayMemberPath与SelectedValuePath 160
6.4 数据模板 163
6.4.1 自定义数据模板 163
6.4.2 数据模板选择器 165
6.5 分组视图 169
6.6 自定义数据项的布局 174
6.7 缩放视图 176
6.8 Pivot与Hub 180
6.8.1 Pivot控件示例 180
6.8.2 Hub控件示例 181
6.9 Flip View控件 184
6.10 增量加载 185
第7章 图形 191
7.1 构造图形的基础元素 191
7.2 画刷 192
7.2.1 单色画刷(SolidColorBrush) 192
7.2.2 线性渐变画刷(LinearGradientBrush) 193
7.2.3 图像画刷(ImageBrush) 195
7.3 基本图形 196
7.3.1 直线(Line) 196
7.3.2 椭圆(Ellipse) 197
7.3.3 矩形(Rectangle) 198
7.3.4 折线(Polyline) 199
7.3.5 多边形(Polygon) 200
7.4 路径 201
7.4.1 LineGeometry 201
7.4.2 RectangleGeometry 201
7.4.3 EllipseGeometry 204
7.4.4 PathGeometry 205
7.4.5 GeometryGroup 207
7.5 二维变换 207
7.5.1 平移(TranslateTransform) 207
7.5.2 旋转(RotateTransform) 208
7.5.3 缩放(ScaleTransform) 209
7.5.4 复合变换(CompositeTransform) 210
7.5.5 使用相对定位的变换原点 211
7.6 三维透视 212
7.7 三维变换 213
第8章 动画 216
8.1 动画概要 216
8.1.1 时间线 216
8.1.2 演示图板(Storyboard) 217
8.1.3 动画分类 217
8.1.4 如何与动画时间线关联 218
8.2 控制动画播放行为 222
8.3 简单动画 224
8.4 关键帧动画 226
8.5 属性路径 229
第9章 图像 232
9.1 用于UI的图像加载 232
9.2 将可视化对象呈现为图像 234
9.3 可写位图(WriteableBitmap) 235
9.4 图像的解码与编码 237
9.4.1 图像解码 237
9.4.2 图像编码 240
9.5 图像处理 244
第10章 多媒体 248
10.1 MediaElement与多媒体播放 248
10.2 后台音频 250
10.3 转码 257
10.4 多媒体捕捉 260
10.5 捕捉屏幕 265
第11章 启动与激活 270
11.1 Launcher组件 270
11.2 自定义文件关联 273
11.3 协议激活 277
第12章 文件与数据 283
12.1 文件与目录 283
12.1.1 文件/目录操作的相关类型 283
12.1.2 读写本地文件 284
12.1.3 FileIO与PathIO 286
12.1.4 DataWriter与DataReader 288
12.1.5 访问特殊目录 291
12.2 应用设置 293
12.3 访问可移动存储 297
12.4 文件与目录选择器 299
12.5 StorageApplicationPermissions类 303
12.6 XML与JSON数据处理 306
12.6.1 读写XML 306
12.6.2 操作JSON数据 308
12.7 数据共享 310
12.7.1 剪贴板 311
12.7.2 向其他应用程序共享数据 312
12.7.3 接收共享数据 314
12.8 应用程序服务 317
第13章 网络通信 324
13.1 Socket通信 324
13.1.1 基于UDP协议的通信 325
13.1.2 通过TCP协议传输数据 329
13.2 访问Web服务 334
13.3 HTTP协议通信 336
13.4 后台传输 337
13.5 推送通知 343
13.6 访问RSS资源 351
第14章 传感器与地理定位 354
14.1 设备坐标 354
14.2 传感器的使用方法 354
14.3 罗盘 355
14.4 加速度传感器 358
14.5 磁倾仪 360
14.6 陀螺仪 362
14.7 光感器 363
14.8 方向传感器 364
14.9 高度计 365
14.10 气压计 367
14.11 获取电池信息 368
14.12 获取地理位置 368
第15章 语音技术 371
15.1 语音识别 371
15.2 自定义语音识别规则 373
15.2.1 自定义SGRS文件 374
15.2.2 短语列表约束 378
15.3 语音指令 379
15.4 语音朗读 384