《深入浅出Windows 10通用应用开发》
[深入浅出Windows 10]应用实战:Bing在线壁纸
[深入浅出Windows 10]不同平台设备的适配
[深入浅出Windows 10]分屏控件(SplitView)
[深入浅出Windows 10]实现饼图控件
[深入浅出Windows 10]模拟实现微信的彩蛋动画
[深入浅出Windows 10]布局原理
[深入浅出Windows 10]QuickCharts图表控件库解析
……
《深入浅出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
《深入浅出Windows 10通用应用开发》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- 算法系列:geometry
1.基本几何变换及变换矩阵 基本几何变换都是相对于坐标原点和坐标轴进行的几何变换,有平移.比例.旋转.反射和错切等. 1.1 平移变换 是指将p点沿直线路径从一个坐标位置移到另一个坐标位置的重定位过程 ...
- POJ3694 Network(Tarjan双联通分图 LCA 桥)
链接:http://poj.org/problem?id=3694 题意:给定一个有向连通图,每次增加一条边,求剩下的桥的数量. 思路: 给定一个无向连通图,添加一条u->v的边,求此边对图剩余 ...
- Bat脚本实现MySQL数据库SQL文件备份
@echo offecho 在线兑奖系统自动备份脚本(请勿关闭) 联系人: 电话::loopset /a "FDate=%date:~,4%%date:~5,2%%date:~8,2%&q ...
- W:Failed to fetch http://archive.ubuntukylin.com:10006/ubuntukylin/dists/pre
由于用ubuntu的时候装了几个ubuntukylin的软件(像搜狗拼音for linux),于是最近总是蹦出一个红色的三角提示,说无法更新,虽说不影响使用但是还是很不爽.解决方法记录如下: 进入系统 ...
- WIN7系统下U盘安装Ubuntu双系统
1. 准备工作 1. 官网下载Ubantu镜像,我下载的是Ubantu14.04.3 LTS版本: 2. 下载 Universal USB Installer (UUI)用于制作U盘启动盘: 3. 下 ...
- C# 编码转换 UTF8转GB2312 GB2312转UTF8
/// <summary> /// GB2312转换成UTF8 /// </summary> /// <param name="text">&l ...
- 编译器 expected unqualified-id before numeric constant 错误
今天调试代码,碰到expected unqualified-id before numeric constant 错误,代码的错误模块出现在一个函数模块上, 奇怪的是这个函数模块之前编译了很多次,也没 ...
- Salesforce中所有常用类型字段的取值与赋值
Salesforce中所有常用字段类型的定义以及如何用代码进行取值和赋值: Field Type的定义: http://www.salesforce.com/us/developer/docs/api ...
- Sp EF输出 临时表
-- ============================================= -- Author: <Author,,Name> -- Create date: < ...
- Linux学习笔记(2)Linux学习注意事项
1 学习Linux的注意事项 ① Linux严格区分大小写 ② Linux中所有内容均以文件形式保存,包括硬件,如硬件文件是/deb/sd[a-p] ③ Linux不靠扩展名区分文件类型,但有的文件是 ...