《深入浅出Windows 10通用应用开发》

时间:2021-12-24 07:54:19
    《深入浅出Windows 10通用应用开发》采用Windows 10的SDK进行重新改版,整合了《深入浅出Windows Phone 8.1应用开发》和《深入解析Windows Phone 8.1 UI控件编程》中的内容,因为篇幅较大删掉了很多章节。不过留下来的章节都是我经过挑选在工作上和面试上都是具有参考价值的。     建议已经购买了《深入浅出Windows Phone 8.1应用开发》和《深入解析Windows Phone 8.1 UI控件编程》这两本书的朋友直接下载网盘的Windows 10通用应用的代码进行学习即可,新入门的建议直接从Windows 10进行学习。 试读博文(陆续更新):

[深入浅出Windows 10]应用实战:Bing在线壁纸

[深入浅出Windows 10]不同平台设备的适配

[深入浅出Windows 10]分屏控件(SplitView)

[深入浅出Windows 10]实现饼图控件

[深入浅出Windows 10]模拟实现微信的彩蛋动画

[深入浅出Windows 10]布局原理

[深入浅出Windows 10]QuickCharts图表控件库解析

……

源代码地址:  http://vdisk.weibo.com/u/2186322691 目录:

《深入浅出Windows 10通用应用开发》目录

 《深入浅出Windows 10通用应用开发》

开发基础篇  

第1概述

1.1 Windows 10的改变与发展机遇     

1.1.1 Windows 10的新特性  

1.1.2 Windows 10 手机版本

1.1.3 Windows 10 PC版本     

1.1.4 Windows 10 物联网版本     

1.1.5 Windows 10对于开发者的机遇  

1.2 Windows 10的技术框架 

1.2.1 Windows运行时   

1.2.2 Windows 10 通用应用平台

1.2.3 Windows 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.2 XAML语法概述        

3.2.1命名空间       

3.2.2 对象元素      

3.2.3 设置属性      

3.2.4 附加属性      

3.2.5 标记扩展      

3.2.6 事件

3.3 XAML的原理   

3.3.1 XAML页面的编译

3.3.2 动态加载XAML   

3.4 XAML的树结构        

3.4.1 可视化树      

3.4.2 VisualTreeHelper类      

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.1 JSON数据序列化存储 

6.3.2 XML文件存储       

6.4 安装包文件数据     

6.4.1 安装包文件访问 

6.4.2 安装包文件的URI方案      

 

第7图形绘图

7.1 图形基础

7.1.1 图形中常用的结构      

7.1.2 画图相关的类      

7.1.3 基础的图形形状 

7.2 Path图形 

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.1 SolidColorBrush画刷    

7.3.2 LinearGradientBrush画刷    

7.3.3 ImageBrush画刷  

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.3 DoubleAnimation实现变换动画 

9.2.4 ColorAnimation实现颜色渐变动画     

9.2.5 PointAnimation实现Path图形动画    

9.3 关键帧动画     

9.3.1 关键帧动画概述 

9.3.2 线性关键帧 

9.3.3 样条关键帧 

9.3.4 离散关键帧 

9.4 缓动函数动画

9.4.1 缓动函数动画概述      

9.4.2 BackEase动画       

9.4.3 BounceEase动画  

9.4.4 CircleEase动画     

9.4.5 CubicEase动画     

9.4.6 ElasticEase动画   

9.4.7 ExponentialEase动画   

9.4.8 PowerEase/QuadraticEase/QuarticEase/QuinticEase动画

9.4.9 SineEase动画        

9.5 基于帧动画     

9.5.1 基于帧动画的原理      

9.5.2 基于帧动画的应用场景      

9.5.3 基于帧动画的实现      

9.6 动画方案的选择     

9.6.1 帧速率 

9.6.2 UI线程和构图线程      

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.2 ContentControl和ContentPresenter

10.2.3 视觉状态管理(VisualStatesManager)       

10.2.4 数据模板(DataTemplate)  

10.2.5 ItemTemplate、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 绑定自定义集合        

 

第12列表编程       

12.1 列表控件的使用  

12.1.1 ItemsControl实现最简洁的列表

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

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

12.1.4 GridView实现网格列表     

12.1.5 SemanticZoom实现分组列表    

12.2 虚拟化技术  

12.2.1 列表的虚拟化   

12.2.2 VirtualizingStackPanel、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.4 QuickCharts图表控件库解析        

13.4.1 QuickCharts项目结构分析         

13.4.2 饼图图表PieChart的实现逻辑        

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

 

开发进阶篇  

第14网络编程       

14.1 网络编程之HttpWebRequest类

14.1.1 HttpWebRequest实现Get请求         

14.1.2 HttpWebRequest实现Post请求       

14.1.3 网络请求的取消        

14.1.4 超时控制   

14.1.5 断点续传   

14.1.6 实例演示:RSS阅读器     

14.2 网络编程之HttpClient类    

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

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

14.2.3 设置和获取Cookie    

14.2.4 网络请求的进度监控        

14.2.5 自定义HTTP请求筛选器 

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

14.3 使用Web Service进行网络编程 

14.3.1 Web Service简介

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

14.4 使用WCF Service进行网络编程 

14.4.1 WCF 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.1 Socket编程介绍    

15.1.1 Socket的相关概念     

15.1.2 Socket通信的过程     

15.2 Socket编程之TCP协议

15.2.1 StreamSocket介绍以及TCP Socket编程步骤

15.2.2连接Socket 

15.2.3 发送和接收消息        

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

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

15.3 Socket编程之UDP协议

15.3.1 发送和接收消息        

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

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

 

第16蓝牙和近场通信 

16.1蓝牙        

16.1.1 蓝牙原理介绍   

16.1.2 Windows 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.1 ContactStore类和StoredContact类 

17.1.2 联系人的新增   

17.1.3 联系人的查询   

17.1.4 联系人的编辑   

17.1.5联系人的删除     

17.1.6 联系人的头像   

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

17.2 联系人编程技巧  

17.2.1 vCard的运用       

17.2.2 RemoteID的运用        

 

第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.2 URI关联的应用                                 

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.1 MediaElement对象        

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

20.1.2 MediaElement的状态         

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.1 C++/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.10 Lambda表达式

22.1.11集合  

22.2 Windows运行时组件    

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

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

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应用实战:Bing在线壁纸

23.1 应用实现的功能  

23.2 获取Bing壁纸的网络接口 

23.3 壁纸请求服务的封装  

23.4 应用首页的设计和实现

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

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

 

第24应用实战:记账本

24.1记账本概述

24.2对象序列化存储

24.3记账本首页磁贴设计

24.4添加一笔收入和支出

24.5 月报表

24.6年报表    

24.7 查询记录

24.8 分类图表

  购买地址: 京东 当当 淘宝 亚马逊

源代码下载:http://vdisk.weibo.com/u/2186322691

欢迎关注我的微博@WP林政   微信公众号:wp开发(号:wpkaifa)

Windows10/WP技术交流群:284783431