第1章 全新的Windows Runtime 1
1.1回顾过去:Win32和.NET 1
1.2展望未来:自然用户界面的兴起 7
1.3 Windows应用商店中的应用 10
1.3.1 Windows 8应用程序的设计 12
1.3.2快速和流畅 12
1.3.3对齐和缩放 13
1.3.4使用正确的契约 13
1.3.5绝妙的磁贴 14
1.3.6连接和在线 16
1.3.7拥抱Windows 8的设计理念 16
1.4 Windows 8开发工具 17
1.4.1 Blend for Visual Studio 18
1.4.2 HTML 5和JavaScript 18
1.4.3 C++和XAML 20
1.4.4 VB/C#和XAML 21
1.5 WinRT揭秘 22
1.6 WPF、 Silverlight和桌面应用程序 23
1.7总结 24
1.8参考文献 24
第2章 开始编写第一个程序 25
2.1搭建环境 25
2.1.1 Windows 8 26
2.1.2 Visual Studio2012 30
2.1.3 Blend 31
2.2 Hello, Windows 8 31
2.2.1创建第一个Windows 8应用程序 31
2.2.2模板 32
2.3 ImageHelper应用程序 35
2.4总结 51
第3章 可扩展应用程序标记语言(XAML) 53
3.1定义用户界面 54
3.1.1可视化树 56
3.1.2依赖属性 58
3.1.3附加属性 61
3.2数据绑定 63
3.3故事板 70
3.4样式和资源 73
3.5布局 76
3.5.1 Canvas 76
3.5.2 Grid 77
3.5.3 StackPanel 79
3.5.4 VirtualizingPanel和VirtualizingStackPanel 80
3.5.5 WrapGrid 81
3.5.6 VariableSizedWrapGrid 83
3.5.7 ContentControl 84
3.5.8 ItemsControl 86
3.5.9 ScrollViewer 86
3.5.10 ViewBox 87
3.5.11 GridView 89
3.5.12 ListView 93
3.5.13 FlipView 94
3.5.14 ListBox 94
3.6公共控件 94
3.7总结 96
第4章Windows 8应用程序 97
4.1布局和视图 97
4.1.1模拟器 98
4.1.2视觉状态管理器 101
4.1.3语义缩放 104
4.2处理用户输入 107
4.2.1指针事件 108
4.2.2操作事件 109
4.2.3鼠标支持 111
4.2.4键盘支持 112
4.2.5视觉反馈 114
4.2.6确定目标 116
4.2.7上下文菜单 117
4.3应用栏 118
4.4图标和初始屏幕 124
4.5关于页面 125
4.6传感器 129
4.6.1加速计 129
4.6.2指南针 130
4.6.3地理位置传感器 131
4.6.4陀螺仪 132
4.6.5倾斜仪 133
4.6.6光传感器 133
4.6.7方向传感器 134
4.7总结 136
第5章 应用程序生命周期 137
5.1进程生命周期管理 139
5.1.1激活 140
5.1.2挂起 141
5.1.3终止 143
5.1.4恢复 144
5.1.5导航 145
5.1.6应用程序数据API 148
5.2连接和在线 153
5.3自定义初始屏幕 153
5.4总结 155
第6章 数据 157
6.1应用程序设置 157
6.2访问和存储数据 159
6.2.1速度和多线程的需求 164
6.2.2理解async和await 167
6.2.3 Lambda表达式 169
6.2.4 IO帮助类 170
6.2.5内嵌资源 171
6.3集合 173
6.4网页内容 177
6.5聚合内容 179
6.6流、缓存和字节数组 180
6.7数据压缩 181
6.8数据加密和签名 183
6.9 Web服务 186
6.10总结 191
第7章 磁贴和Toast通知 193
7.1基本磁贴 193
7.2动态磁贴 194
7.3锁屏提醒 200
7.4辅助磁贴 202
7.5 Toast通知 206
7.6 Windows通知服务 211
7.7总结 218
第8章 超级按钮 219
8.1搜索 221
8.2分享 231
8.2.1分享内容 232
8.2.2接收分享内容 239
8.3设置 244
8.4总结 248
第9章MVVM和测试 249
9.1 UI设计模式 250
9.1.1模型 254
9.1.2视图 255
9.1.3视图模型 256
9.2可移植类库 257
9.3为什么要测试 261
9.3.1测试能消除不合理的假设 262
9.3.2测试能从源头上排除Bug 262
9.3.3测试有助于代码文档化 263
9.3.4测试易于扩展和维护应用程序 263
9.3.5测试能改进架构和设计 264
9.3.6测试有助于提高开发能力 264
9.3.7结论:编写单元测试 265
9.4单元测试 265
9.4.1 Windows应用商店单元测试框架 266
9.4.2 Mock和Stub 269
9.5总结 272
第10章 打包和部署 273
10.1 Windows应用商店 273
10.1.1查找应用程序 274
10.1.2商机 277
10.1.3商业模式 278
10.1.4广告 283
10.1.5应用程序发布前的准备 283
10.1.6应用程序发布流程 285
10.1.7应用认证工具包 286
10.1.8等待应用程序的审核 289
10.2侧载(Side-Loading) 290
10.3总结 292