第1章 Windows 8商店应用基础 1
1.1 Windows 8的不同版本 2
1.1.1 Windows 8的发行版本 2
1.1.2 Windows 8.1 5
1.1.3 几个容易混淆的概念 5
1.1.4 Surface平板电脑 6
1.2 Windows 8使用技巧 7
1.3 Windows商店应用简介 8
1.4.NET4.5 与C#5.0新特性介绍 10
1.4.1 .NET 4.5 新特性 10
1.4.2 C#5.0新特性 12
1.5 Windows Runtime介绍 13
1.5.1 Windows平台的运行时 13
1.5.2 Windows Runtime的类库模块 16
1.5.3 Windows Runtime的类型系统 16
1.5.4 Windows Runtime的线程模型 18
1.6 开发商店应用的类库及限制 19
1.7 开发环境与开发者账号 24
1.7.1 应用商店账户 25
1.8 Visual Studio 2012及Blend简单介绍 26
1.8.1 Visual Studio的操作界面 26
1.8.2 Blend for Visual Studio 2012 27
第2章 Windows 8商店应用交互设计 31
2.1 手势交互方式 33
2.2 交互指导方针 34
2.3 优秀的商店应用图赏 37
第3章 初级开发——编写最简单的App 41
3.1 从最基本的项目开始 42
3.1.1 项目模板介绍 42
3.1.2 新建项目的结构 44
3.1.3 程序的入口 45
3.1.4 分析主要的项目文件 46
3.1.5 程序的基本设置和配置 55
3.1.6 调试 58
3.2 控件介绍 60
3.2.1 布局控件 61
3.2.2 按钮类控件 64
3.2.3 显示单条数据的控件 65
3.2.4 显示多条数据的控件 67
3.2.5 用户选择类控件 69
3.2.6 弹出窗口控件 69
3.2.7 图形图像控件 70
3.2.8 滚动条与进度条控件 71
3.2.9 控件的继承关系 71
3.2.1 0 ListView与GridView 73
3.2.1 1 Windows 8.1 新增控件 74
3.3 XAML介绍 77
3.3.1 初识XAML 77
3.3.2 XAML语法 79
3.3.3 XAML命名空间 82
3.3.4 XAML的功能 84
3.3.5 XAML中的事件基础 85
3.3.6 XAML的路由事件 87
3.3.7 代码重用——资源和模板 89
3.3.8 XAML制作动画(Animation) 93
3.3.9 依赖属性 103
3.3.1 0附加属性 106
3.4 布局的考虑 108
3.4.1 布局的方法与技巧 108
3.4.2 设备方向改变 114
3.4.3 Windows 8中的SnapView 115
3.4.4 Windows 8.1 中的SnapView 116
3.5 自定义控件 117
3.5.1 概述 117
3.5.2 用Blend设计控件 119
3.5.3 添加依赖属性 125
3.5.4 添加事件 126
3.6 页面间导航 127
3.6.1 概述 127
3.6.2 Frame类 128
3.6.3 缓存 130
3.6.4 LayoutAwarePage页面 131
3.7 数据访问策略 132
3.7.1 内存数据 132
3.7.2 本地数据 133
3.7.3 漫游数据 137
3.7.4 用户文件夹 138
3.7.5 云端数据 139
3.7.6 存储格式 140
3.8 异步编程 143
3.8.1 EAP 144
3.8.2 async与await 145
3.9 MVVM架构 146
3.9.1 MVVM概述 147
3.9.2 从MVVM到MVC 148
3.9.3 过度MVVM 148
3.10 数据绑定 149
3.10.1 概述 149
3.10.2 数据绑定基础 150
3.10.3 Binding类 151
3.10.4 单项绑定 152
3.10.5 多项绑定 154
3.10.6 数据模板 155
3.10.7 绑定模式 157
3.10.8 绑定时类型转换 158
3.10.9 增量绑定 160
3.10.1 0分组绑定 160
3.10.1 1设计时绑定 160
3.11 创建可复用的类库 161
3.11.1 创建类库 162
3.11.2 引用类库 163
3.12 程序的生命周期 164
3.12.1 生命周期简介 164
3.12.2 数据的保存或恢复 165
3.12.3 用VS2012调试模拟状态 167
3.13 多线程 168
3.13.1 线程模型 168
3.13.2 线程池 169
3.14 上传应用到商店 170
3.14.1 认证测试 170
3.14.2 注册应用 172
3.14.3 打包 173
3.14.4 上传 174
第4章 高级开发——充分利用Windows 8的特性 175
4.1 磁贴、辅助磁贴、Badge、Toast通知和锁屏 176
4.1.1 磁贴的尺寸(Windows 8.1 更新) 176
4.1.2 本地更新磁贴 179
4.1.3 角标(Badge)是什么 184
4.1.4 本地更新Badge 186
4.1.5 辅助磁贴是什么 187
4.1.6 添加辅助磁贴 189
4.1.7 本地更新辅助磁贴 191
4.1.8 Toast通知是什么 191
4.1.9 本地更新Toast通知 193
4.1.10 通过Toast启动主应用 194
4.1.11 锁屏(Lock Screen)信息 196
4.1.12 轮询更新通知 199
4.1.13 推送更新通知(Pushnotification) 202
4.1.14 推送原始通知(Raw notification) 210
4.2 后台任务 214
4.3 音频和视频 222
4.3.1 MediaElement控件 222
4.3.2 转码 227
4.3.3 剪裁 230
4.3.4 用摄像头录制视频(旋转、防抖) 231
4.3.5 语音合成(Windows 8.1 新功能) 233
4.4 图片和图像 234
4.4.1 显示图片 234
4.4.2 美化图片 237
4.4.3 改变图片质量 243
4.5 图形绘制 243
4.5.1 矢量图形类 244
4.5.2 画笔 244
4.5.3 变幻 245
4.6 位置数据 246
4.6.1 获取途径 246
4.6.2 计算两条GPS数据间的距离 248
4.7 传感器 250
4.8 HTTP与P2P通信 256
4.8.1 HTTP操作(Windows 8.1 更新) 256
4.8.2 NFC 259
4.8.3 蓝牙4.0 260
4.8.4 WiFi Direct 261
4.8.5 Geofence(Windows 8.1 功能) 262
4.9 输入方式 263
4.10 Charm搜索 264
4.10.1 概述 264
4.10.2 搜索实战 266
4.11 Charm分享 269
4.11.1 概述 269
4.12 关联文件类型 273
4.13 关联URI协议 276
4.14 打开文件 278
4.15 国际化 279
4.15.1 语言国际化 279
4.15.2 日期国际化 281
第5章 企业开发——完整的解决方案 283
5.1 企业级部署 284
5.2 数据加密和安全证书 289
5.2.1 专有名词及相关类 289
5.2.2 常见的安全场景 290
5.2.3 加密与密钥 291
5.2.4 数字签名、哈希与证书 292
5.3 集成OAuth认证或Live验证 293
5.3.1 OAuth认证 293
5.3.2 OpenID认证 295
5.3.3 WebAuthenticationBroker认证代理 296
5.3.4 微软Live认证 299
5.3.5 存储用户凭据 302
5.4 集成SOA 303
5.5 集成Azure 304
5.6 集成Dynamics CRM 307
5.7 集成SharePoint、Office 365 309
5.8 集成地图服务 312
5.8.1 概述 312
5.8.2 地图数据 312
5.8.3 地图控件 314
5.8.4 地图服务 317
5.8.5 集成UCMap 318
5.8.6 地图偏移 319
5.9 与Windows Phone互操作 319
5.1 0性能优化 323
附录A 微软在线技术文档链接 330
附录B 第三方SDK或开源组件 331
附录C 支持的国际化语言 332
附录D Windows 8商店应用审核要求 334
参考文献 344