图书目录

目录

开发基础篇

第1章综述

1.1Windows10的改变与发展机遇

1.1.1Windows 的历史

1.1.2Windows 10的新特性

1.2Windows 10的技术框架

1.2.1Windows运行时

1.2.2Windows10通用应用平台

1.2.3Windows 10通用应用程序开发模型

第2章开发环境和项目工程解析

2.1搭建开发环境

2.1.1开发环境的要求

2.1.2开发工具的安装

2.2创建Windows 10通用应用

2.2.1创建Hello World项目

2.2.2解析Hello World应用

2.3不同平台设备的适配

2.3.1特定平台的API调用

2.3.2界面适配

第3章XAML界面原理和语法

3.1理解XAML

3.2XAML语法

3.2.1命名空间

3.2.2对象元素

3.2.3设置属性

3.2.4附加属性

3.2.5标记扩展

3.2.6事件

3.3XAML的原理

3.3.1XAML页面的编译

3.3.2动态加载XAML

3.4XAML的树结构

3.4.1可视化树

3.4.2VisualTreeHelper类

3.4.3遍历可视化树

3.5框架和页面

3.5.1框架页面结构

3.5.2页面导航

开发提高篇

第4章控件编程

4.1系统控件分类

4.2按钮(Button)

4.3文本块(TextBlock)

4.4文本框(TextBox)

4.5边框(Border)

4.6超链接(HyperlinkButton)

4.7单选按钮(RadioButton)

4.8复选框(CheckBox)

4.9进度条(ProgressBar)

4.10滚动视图(ScrollViewer)

4.11滑动条(Slider)

4.12时间选择器(TimePicker)和日期选择器(DatePicker)

4.13枢轴(Pivot)

4.14全景视图(Hub)

4.15浮出(Flyout)

4.16下拉框(ComboBox)

4.17命令栏/菜单栏(CommandBar)

4.18分屏(SplitView)

第5章布局管理

5.1布局属性和面板

5.1.1布局的通用属性

5.1.2网格布局(Grid)

5.1.3堆放布局(StackPanel)

5.1.4绝对布局(Canvas)

5.1.5相对布局(RelativePanel)

5.1.6多分辨率的适配布局

5.2布局原理

5.2.1布局的意义

5.2.2布局系统

5.2.3布局系统的重要方法和属性

5.2.4测量和排列的过程

5.3自定义布局规则

5.3.1创建布局类

5.3.2实现测量过程

5.3.3实现排列过程

5.3.4应用布局规则

第6章应用数据

6.1应用设置存储

6.1.1应用设置简介

6.1.2应用设置操作

6.1.3存储容器设置

6.1.4复合设置数据

6.2应用文件存储

6.2.1三种类型的应用文件

6.2.2应用文件和文件夹操作

6.2.3文件Stream和Buffer读写操作

6.2.4应用文件的URI方案

6.3常用的存储数据格式

6.3.1JSON数据序列化存储

6.3.2XML文件存储

6.4安装包文件数据

6.4.1安装包文件访问

6.4.2安装包文件的URI方案

第7章图形绘图

7.1图形基础

7.1.1图形中常用的结构

7.1.2画图相关的类

7.1.3基础的图形形状

7.2Path图形

7.2.1两种Path图形的创建方法

7.2.2使用简单的几何图形来创建Path

7.2.3使用PathGeometry来创建Path

7.2.4使用路径标记语法创建Path

7.2.5使用Path实现自定义图形

7.2.6利用Expression Blend工具创建Path图形

7.3画刷

7.3.1SolidColorBrush画刷

7.3.2LinearGradientBrush画刷

7.3.3ImageBrush画刷

7.4图形裁剪

7.4.1使用几何图形进行剪裁

7.4.2对布局区域进行剪裁

7.5使用位图编程

7.5.1拉伸图像

7.5.2使用RenderTargetBitmap类生成图片

7.5.3存储生成的图片文件

第8章变换特效和三维特效

8.1变换特效

8.1.1变换的原理二维变换矩阵

8.1.2平移变换(TranslateTransform)

8.1.3旋转变换(RotateTransform)

8.1.4缩放变换(ScaleTransform)

8.1.5扭曲变换(SkewTransform)

8.1.6组合变换(TransformGroup)

8.1.7矩阵变换(MatrixTransform)

8.2三维特效

8.2.1三维坐标体系

8.2.2三维旋转

8.2.3三维平移

8.2.4用矩阵实现三维特效

第9章动画编程

9.1动画原理

9.1.1理解动画

9.1.2动画的目标属性

9.1.3动画的类型

9.2线性插值动画

9.2.1动画的基本语法

9.2.2线性动画的基本语法

9.2.3DoubleAnimation实现变换动画

9.2.4ColorAnimation实现颜色渐变动画

9.2.5PointAnimation实现Path图形动画

9.3关键帧动画

9.3.1关键帧动画简介

9.3.2线性关键帧

9.3.3样条关键帧

9.3.4离散关键帧

9.4缓动函数动画

9.4.1缓动函数动画简介

9.4.2BackEase动画

9.4.3BounceEase动画

9.4.4CircleEase动画

9.4.5CubicEase动画

9.4.6ElasticEase动画

9.4.7ExponentialEase动画

9.4.8PowerEase/QuadraticEase/QuarticEase/QuinticEase动画

9.4.9SineEase动画

9.5基于帧动画

9.5.1基于帧动画的原理

9.5.2基于帧动画的应用场景

9.5.3基于帧动画的实现

9.6动画方案的选择

9.6.1帧速率

9.6.2UI线程和构图线程

9.6.3选择最优的动画方案

9.7模拟实现微信的彩蛋动画

9.7.1实现的思路

9.7.2星星创建工厂

9.7.3实现单个星星的动画轨迹

9.7.4封装批量星星飘落的逻辑

9.7.5星星飘落动画演示

第10章样式和模板

10.1样式

10.1.1创建样式

10.1.2样式继承

10.1.3以编程方式设置样式

10.1.4样式文件

10.2模板

10.2.1控件模板(ControlTemplate)

10.2.2ContentControl和ContentPresenter

10.2.3视觉状态管理(VisualStatesManager)

10.2.4数据模板(DataTemplate)

10.2.5ItemTemplate、ContentTemplate和DataTemplate

10.2.6数据模板的使用

10.2.7读取和更换数据模板

第11章数据绑定

11.1数据绑定的基础

11.1.1数据绑定的原理

11.1.2创建绑定

11.1.3用元素值绑定

11.1.4三种绑定模式

11.1.5更改通知

11.1.6绑定数据转换

11.2绑定集合

11.2.1数据集合

11.2.2绑定列表控件

11.2.3绑定ObservableCollection<T>集合

11.2.4绑定自定义集合

11.3MVVM模式

11.3.1MVVM模式简介

11.3.2MVVM模式的实现

第12章列表编程

12.1列表控件的使用

12.1.1ItemsControl实现最简洁的列表

12.1.2ListBox实现下拉点击刷新列表

12.1.3ListView实现下拉自动刷新列表

12.1.4GridView实现网格列表

12.1.5SemanticZoom实现分组列表

12.2虚拟化技术

12.2.1列表的虚拟化

12.2.2VirtualizingStackPanel、ItemsStackPanel和ItemsWrapGrid

虚拟化排列布局控件

12.2.3实现横向虚拟化布局

12.2.4大数据量网络图片列表的异步加载和内存优化

第13章图表编程

13.1动态生成折线图和区域图

13.1.1折线图和区域图原理

13.1.2生成图形逻辑封装

13.2实现饼图控件

13.2.1自定义饼图片形状

13.2.2封装饼图控件

13.3线性报表

13.3.1实现图形表格和坐标轴

13.3.2定义线性数据图形类

13.3.3实现图例

13.3.4实现线性报表

13.4QuickCharts图表控件库解析

13.4.1QuickCharts项目结构分析

13.4.2饼图图表PieChart的实现逻辑

13.4.3连续图形图表SerialChart的实现逻辑

开发进阶篇

第14章网络编程

14.1网络编程之HttpWebRequest类

14.1.1HttpWebRequest实现Get请求

14.1.2HttpWebRequest实现Post请求

14.1.3网络请求的取消

14.1.4超时控制

14.1.5断点续传

14.1.6实例演示: RSS阅读器

14.2网络编程之HttpClient类

14.2.1Get请求获取字符串和数据流数据

14.2.2Post请求发送字符串和数据流数据

14.2.3设置和获取Cookie

14.2.4网络请求的进度监控

14.2.5自定义HTTP请求筛选器

14.2.6实例演示: 部署IIS服务和实现客户端对服务器的请求

14.3使用Web Service进行网络编程

14.3.1Web Service简介

14.3.2实例演示: 手机号码归属地查询

14.4使用WCF Service进行网络编程

14.4.1WCF Service简介

14.4.2创建WCF Service

14.4.3调用WCF Service

14.5推送通知

14.5.1推送通知的原理和工作方式

14.5.2推送通知的分类

14.5.3推送通知的发送机制

14.5.4客户端程序实现推送通知的接收

第15章Socket编程

15.1Socket编程简介

15.1.1Socket相关概念

15.1.2Socket通信的过程

15.2Socket编程之TCP协议

15.2.1StreamSocket介绍及TCP Socket编程步骤

15.2.2连接Socket

15.2.3发送和接收消息

15.2.4TCP协议服务器端监听消息

15.2.5实例: 模拟TCP协议通信过程

15.3Socket编程之UDP协议

15.3.1发送和接收消息

15.3.2UDP协议服务器端监听消息

15.3.3实例: 模拟UDP协议通信过程

第16章蓝牙和近场通信

16.1蓝牙

16.1.1蓝牙原理

16.1.2Windows 10蓝牙技术简介

16.1.3蓝牙编程类

16.1.4查找蓝牙设备和对等项

16.1.5蓝牙发送消息

16.1.6蓝牙接收消息

16.1.7实例: 实现蓝牙程序对程序的传输

16.1.8实例: 实现蓝牙程序对设备的连接

16.2近场通信

16.2.1近场通信的介绍

16.2.2近场通信编程类和编程步骤

16.2.3发现近场通信设备

16.2.4近场通信发布消息

16.2.5近场通信订阅消息

16.2.6实例: 实现近场通信的消息发布订阅

第17章联系人存储

17.1联系人数据存储

17.1.1ContactStore类和StoredContact类

17.1.2联系人新增

17.1.3联系人查询

17.1.4联系人编辑

17.1.5联系人删除

17.1.6联系人头像

17.1.7实例演示: 联系人存储的使用

17.2联系人编程技巧

17.2.1vCard的运用

17.2.2RemoteID的运用

第18章多任务

18.1后台任务

18.1.1后台任务的原理

18.1.2后台任务的资源限制

18.1.3后台任务的基本概念和相关的类

18.1.4后台任务的实现步骤和调试技巧

18.1.5使用MaintenanceTrigger实现Toast通知

18.1.6使用后台任务监控锁屏Raw消息的推送通知

18.1.7后台任务的开销、终止原因和完成进度汇报

18.2后台文件传输

18.2.1后台文件传输简介

18.2.2后台文件下载步骤

18.2.3后台文件下载的实例编程

18.2.4后台文件上传的实现

第19章应用间通信

19.1启动系统内置应用

19.1.1启动内置应用的URI方案

19.1.2实例演示: 打开网页、拨打电话和启动设置页面

19.2URI关联的应用

19.2.1注册URI关联

19.2.2监听URI

19.2.3启动URI关联的应用

19.2.4实例演示: 通过URI关联打开不同的应用页面

19.3文件关联的应用

19.3.1注册文件关联

19.3.2监听文件启动

19.3.3启动文件关联应用

19.3.4实例演示: 创建一个以.log为扩展名的文件关联应用

第20章多媒体

20.1MediaElement对象

20.1.1MediaElement类的属性、事件和方法

20.1.2MediaElement的状态

20.2本地音频播放

20.3网络音频播放

20.4使用SystemMediaTransportControls控件播放音乐

20.5本地视频播放

20.6网络视频播放

第21章地理位置

21.1定位和地图

21.1.1获取定位信息

21.1.2在地图上显示位置信息

21.1.3跟踪定位的变化

21.1.4后台定位

21.2地理围栏

21.2.1设置地理围栏

21.2.2监听地理围栏通知

第22章C#与C++混合编程

22.1C++/CX语法

22.1.1命名空间

22.1.2基本的类型

22.1.3类和结构

22.1.4对象和引用计数

22.1.5属性

22.1.6接口

22.1.7委托

22.1.8事件

22.1.9自动类型推导auto

22.1.10Lambda表达式

22.1.11集合

22.2Windows运行时组件

22.2.1在项目中使用Windows运行时组件

22.2.2Windows运行时组件异步接口的封装

22.3使用标准C++

22.3.1标准C++与C++/CX的类型自动转换

22.3.2标准C++与C++/CX的字符串的互相转换

22.3.3标准C++与C++/CX的数组的互相转换

22.3.4在Windows运行时组件中使用标准C++

第23章异步任务

23.1基于任务的异步模式

23.1.1任务类概述

23.1.2async和await关键字

23.1.3任务状态

23.2任务异步编程

23.2.1创建Task任务

23.2.2监视异步处理进度

23.2.3任务并行协作

开发实例篇

第24章应用实战: Bing在线壁纸

24.1应用实现的功能

24.2获取Bing壁纸的网络接口

24.3壁纸请求服务的封装

24.4应用首页的设计和实现

24.5手机和平板不同分辨率的适配

24.6壁纸列表详情和操作的实现

第25章应用实战: 记账本

25.1记账本简介

25.2对象序列化存储

25.3记账本首页磁贴设计

25.4添加一笔收入和支出

25.5月报表

25.6年报表

25.7查询记录

25.8分类图表