《深入理解Windows Phone 8.1 UI控件编程》基于最新的Runtime框架
《深入理解Windows Phone 8.1 UI控件编程》本书基于最新的Windows Phone 8.1 Runtime SDK编写,全面深入地论述了最酷的UI编程技术:实现复杂炫酷的动画、掌握布局原理、列表虚拟化原理、高性能列表实现、图表编程、控件原理等。
全书源代码免费下载:
http://vdisk.weibo.com/s/zt_pyrfNHoezI
试读章节会在博客园持续更新:
[WP8.1UI控件编程]Windows Phone XAML页面的编译
[WP8.1UI控件编程]Windows Phone自定义布局规则
[WP8.1UI控件编程]Windows Phone理解和运用ItemTemplate、ContentTemplate和DataTemplate
[WP8.1UI控件编程]Windows Phone动画方案的选择
[WP8.1UI控件编程]SemanticZoom控件实现分组列表
[WP8.1UI控件编程]Windows Phone VirtualizingStackPanel、ItemsStackPanel和ItemsWrapGrid虚拟化排列布局控件
[WP8.1UI控件编程]Windows Phone大数据量网络图片列表的异步加载和内存优化
目录如下:
《深入理解Windows Phone 8 .1 UI控件编程》目录
第1章 深入解析程序界面
1.1 XAML的原理
1.1.1 XAML的概念
1.1.2 XAML页面的编译
1.1.3 动态加载XAML
1.2 XAML的树结构
1.2.1 可视化树
1.2.2 VisualTreeHelper类
1.2.3 遍历可视化树
1.2.4 可视化树应用示例:实现ListBox控件分页加载
1.3 路由事件
1.3.1 Windows Phone事件
1.3.2 路由事件的概念
1.3.4 路由事件原理
1.3.5 路由事件的作用和演示
1.4框架和页面
1.4.1 框架页面结构
1.4.2 页面导航
1.4.3 框架的应用示例:自定义弹出窗口
1.5 UI线程
第2章 样式和模板
2.1 样式
2.1.1 创建样式
2.1.2 样式继承
2.1.3 以编程方式设置样式
2.1.4 样式文件
2.1.5 系统主题
2.1.6 主题资源
2.1.7 自定义主题
2.2 模板
2.2.1 控件模板(ControlTemplate)
2.2.2 ContentControl和ContentPresenter
2.2.3 视觉状态管理(VisualStatesManager)
2.2.4 数据模板(DataTemplate)
2.2.5 ItemTemplate、ContentTemplate和DataTemplate
2.2.6 数据模板的使用
2.2.7 读取和更换数据模板
第3章 布局原理
3.1 布局原理
3.1.1 布局的意义
3.1.2 系统的布局面板
3.1.3 布局系统
3.1.4 布局系统的重要方法和属性
3.1.5 测量和排列的过程
3.1.6 多分辨率的适配布局
3.2 自定义布局规则
3.2.1 创建布局类
3.2.2 实现测量过程
3.2.3 实现排列过程
3.2.4 应用布局规则
第4章 图形绘图
4.1 图形原理
4.1.1 图形中常用的结构
4.1.2 画图相关的类
4.1.3 基础的图形形状
4.2 Path图形
4.2.1 两种Path图形的创建方法
4.2.2 使用简单的几何图形来创建Path
4.2.3 使用PathGeometry来创建Path
4.2.4 使用路径标记语法创建Path
4.2.5 使用Path实现自定义图形
4.2.6 利用Expression Blend工具创建Path图形
4.3 画刷
4.3.1 SolidColorBrush画刷
4.3.2 LinearGradientBrush画刷
4.3.3 ImageBrush画刷
4.4 图形裁剪
4.4.1 使用几何图形进行剪裁
4.4.2 对布局区域进行剪裁
第5章 图表编程
5.1动态生成折线图和区域图
5.1.1折线图和区域图原理
5.1.2 生成图形逻辑封装
5.2 实现饼图控件
5.2.1 自定义饼图片形形状
5.2.2 封装饼图控件
5.3 线性报表
5.3.1 实现图形表格和坐标轴
5.3.2 定义线性数据图形类
5.3.3 实现图例
5.3.4 实现线性报表
5.4 QuickCharts图表控件库解析
5.4.1 QuickCharts项目结构分析
5.4.2 饼图图表PieChart的实现逻辑
5.4.3 连续图形图表SerialChart的实现逻辑
第6章 变换特效和三维特效
6.1 变换特效
6.1.1 变换的原理二维变换矩阵
6.1.2 平移变换TranslateTransform
6.1.3 旋转变换RotateTransform
6.1.4 缩放变换ScaleTransform
6.1.5 扭曲变换SkewTransform
6.1.6 组合变换TransformGroup
6.1.7 矩阵变换MatrixTransform
6.2 三维特效
6.2.1 三维坐标体系
6.2.2 三维旋转
6.2.3 三维平移
6.2.4 用矩阵实现三维特效
第7章 动画编程基础
7.1 动画原理
7.1.1 理解动画
7.1.2 动画的目标属性
7.1.3 动画的类型
7.2 线性插值动画
7.2.1 动画的基本语法
7.2.2 线性动画的基本语法
7.2.3 DoubleAnimation实现变换动画
7.2.4 ColorAnimation实现颜色渐变动画
7.2.5 PointAnimation实现Path图形动画
7.3 关键帧动画
7.3.1 关键帧动画概述
7.3.2 线性关键帧
7.3.3 样条关键帧
7.3.4 离散关键帧
7.4 缓动函数动画
7.4.1 缓动函数动画概述
7 .4.2 BackEase动画
7.4.3 BounceEase动画
7.4.4 CircleEase动画
7.4.5 CubicEase动画
7.4.6 ElasticEase动画
7.4.7 ExponentialEase动画
7.4.8 PowerEase/QuadraticEase/QuarticEase/QuinticEase动画
7.4.9 SineEase动画
7.5 基于帧动画
7.5.1 基于帧动画的原理
7.5.2 基于帧动画的应用场景
7.5.3 基于帧动画的实现
第8章 动画进阶演练
8.1 动画方案的选择
8.1.1 帧速率
8.1.2 UI线程和构图线程
8.1.3 选择最优的动画方案
8.2 列表动画
8.2.1 实现的思路
8.2.2 使用附加属性控制动画对象
8.2.3 列表切换缓动动画实现
8.2.4 退出页面的三维动画实现
8.2.5 列表动画的演示
8.3 模拟实现微信的彩蛋动画
8.3.1 实现的思路
8.3.2 星星创建工厂
8.3.3 实现单个星星的动画轨迹
8.3.4 封装批量星星飘落的逻辑
8.3.5 星星飘落动画演示
8.4 决斗游戏动画
8.4.1 实现的思路
8.4.2 初始页面的布局
8.4.3 人物走路动画
8.4.4 决斗开枪动画
第9章 深入解析控件编程
9.1 系统控件原理解析
9.1.1 系统控件分类
9.1.2 系统控件的默认样式
9.1.3 深度改造系统控件
9.2 UserControl自定义控件——水印输入框控件
9.2.1 UserControl自定义控件的原理
9.2.2 创建水印输入框控件
9.2.3 添加水印输入框控件属性和事件的处理
9.2.4 使用水印输入框控件
9.3 从控件基类派生实现自定义控件——全屏进度条控件
9.3.1 创建控件样式
9.3.2 加载样式
9.3.3 全屏进度条的打开和关闭
9.3.4 处理物理返回事件
9.3.5 全屏进度条控件的使用
第10章 Expression Blend工具的使用
10.1 Expression Blend概述
10.1.1 视图
10.1.2 工作区
10.2 主要的面板
10.2.1美工板
10.2.2 资产面板
10.2.3 工具面板
10.2.4 对象和时间线面板
10.2.5 属性面板
10.3 Expression Blend for Windows Phone的特色功能
10.3.1 选择设备的效果
10.3.2 预览 Windows Phone 样式
10.3.3 定义应用程序菜单栏
10.4 Expression Blend绘图
10.4.1 绘图基础
10.4.2 使用“笔”绘制路径
10.4.3 合并路径
10.4.4 实例演练——绘制一个表情图形
10.5 Expression Blend制作动画
10.5.1 情节提要
10.5.2 时间线
10.5.3 Expression Blend的关键帧
10.5.4 实例演练——制作小球掉落反弹动画
第11章 列表编程
11.1 列表控件的使用
11.1.1 ItemsControl实现最简洁的列表
11.1.2 ListBox实现下拉点击刷新列表
11.1.3 ListView实现下拉自动刷新列表
11.1.4 GridView实现网格列表
11.1.5 SemanticZoom实现分组列表
11.2 虚拟化技术
11.2.1 列表的虚拟化
11.2.2 VirtualizingStackPanel、ItemsStackPanel和ItemsWrapGrid虚拟化排列布局控件
11.2.3 实现横向虚拟化布局
11.2.4 大数据量网络图片列表的异步加载和内存优化
第12章 Toolkit控件库的技术原理分析
12.1 Toolkit控件库项目简介
12.2 CustomMessageBox控件原理解析
12.2.1 CustomMessageBox的调用逻辑
12.2.2 CustomMessageBox的样式和弱引用的使用
12.3 PhoneTextBox控件原理解析
12.3.1 PhoneTextBox的调用逻辑
12.3.2 PhoneTextBox的封装逻辑
12.4 ToggleSwitch控件原理解析
12.4.1 ToggleSwitch的调用逻辑
12.4.2 ToggleSwitch和ToggleSwitchButton的样式
12.4.3 ToggleSwitch对拖拽手势的判断
12.5 ListPicker控件原理解析
12.5.1 ListPicker的调用逻辑
12.5.2 ListPicker控件主要逻辑的分析
12.6 WrapPanel控件原理解析
12.6.1 WrapPanel控件的调用逻辑
12.6.2 WrapPanel布局控件的测量排列逻辑
京东购买地址:http://item.jd.com/11471768.html
《深入理解Windows Phone 8.1 UI控件编程》基于最新的Runtime框架的更多相关文章
- 读《深入理解Windows Phone 8.1 UI控件编程》1.4.3 框架的应用示例:自定义弹出窗口有感
前些天买了园子里林政老师的两本 WP8.1 的书籍.毕竟想要学得深入的话,还是得弄本书跟着前辈走的. 今天读到 1.4.3 节——框架的应用示例:自定义弹出窗口这一小节.总的来说,就是弄一个像 Mes ...
- 面试题汇总--数据储存/应用程序/UI控件/客户端的安全性与框架处理。。。
一 数据储存 1.如果后期需要增加数据库中的字段怎么实现,如果不使用 CoreData 呢?编写 SQL 语句来操作原来表中的字段1)增加表字段ALTER TABLE 表名 ADD COLUMN 字 ...
- [WP8.1UI控件编程]Windows Phone理解和运用ItemTemplate、ContentTemplate和DataTemplate
2.2.5 ItemTemplate.ContentTemplate和DataTemplate 在理解ItemTemplate.ContentTemplate和DataTemplate的关系的之前,我 ...
- [WP8.1UI控件编程]Windows Phone XAML页面的编译
1.1.2 XAML页面的编译 Windows Phone的应用程序项目会通过Visual Studio完成XAML页面的编译,在程序运行时会通过直接链接操作加载和解析XAML,将XAML和过程式代码 ...
- [WP8.1UI控件编程]Windows Phone大数据量网络图片列表的异步加载和内存优化
11.2.4 大数据量网络图片列表的异步加载和内存优化 虚拟化技术可以让Windows Phone上的大数据量列表不必担心会一次性加载所有的数据,保证了UI的流程性.对于虚拟化的技术,我们不仅仅只是依 ...
- [WP8.1UI控件编程]Windows Phone VirtualizingStackPanel、ItemsStackPanel和ItemsWrapGrid虚拟化排列布局控件
11.2.2 VirtualizingStackPanel.ItemsStackPanel和ItemsWrapGrid虚拟化排列布局控件 VirtualizingStackPanel.ItemsSta ...
- [WP8.1UI控件编程]Windows Phone动画方案的选择
8.1 动画方案的选择 Windows Phone的动画实现方式有线性插值动画(3种类型).关键祯动画(4种类型)和基于帧动画,甚至还有定时器动画,然后动画所改变的UI元素属性可以是普通的UI元素属性 ...
- [WP8.1UI控件编程]Windows Phone自定义布局规则
3.2 自定义布局规则 上一节介绍了Windows Phone的系统布局面板和布局系统的相关原理,那么系统的布局面板并不一定会满足所有的你想要实现的布局规律,如果有一些特殊的布局规律,系统的布局面板是 ...
- [WP8.1UI控件编程]SemanticZoom控件实现分组列表
11.1.5 SemanticZoom实现分组列表 SemanticZoom控件可以让用户实现一种更加高级的列表,这种列表可以对列表的项目进行分组,同时这个SemanticZoom控件会提供两个具有相 ...
随机推荐
- hdu 1556:Color the ball(第二类树状数组 —— 区间更新,点求和)
Color the ball Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- 用脚本创建和恢复 DB2数据库
CREATE DATABASE AUTOMATIC STORAGE YES ON 'C:\' DBPATH ON 'C:\' USING CODESET GBK TERRITORY CN COLLAT ...
- MS SQL 合并结果集并求和 分类: SQL Server 数据库 2015-02-13 10:59 92人阅读 评论(0) 收藏
业务情景:有这样一张表:其中Id列为表主键,Name为用户名,State为记录的状态值,Note为状态的说明,方便阅读. 需求描述:需要查询出这样的结果:某个人某种状态的记录数,如:张三,待审核记录数 ...
- android 相对布局里面的一些属性
一. 有关于RelativeLayout布局的一些属性 1. 相对于兄弟控件的位置:android:layout_below Android:layout_toLeftof Android:la ...
- 在Activity和Application中使用SharedPreferences存储数据
1.在Activity中创建SharedPreferences对象及操作方法 SharedPreferences pre=getSharedPreferences("User", ...
- zoj 3882 博弈 *
看了半天约数居然包括1,水了 #include<cstdio> #include<iostream> #include<algorithm> #include< ...
- java 存储对象
一.存储区域: 1)寄存器.这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部.但是寄存器的数量极其有限,所以寄存器根据需求进行分配.你不能直接控制,也不能在程序中感觉到寄存器存在的任何 ...
- hibernate 关联映射
关联关系大致分为两大类: 1.单向关系:只需单向访问关联端.例如:只能通过老师访问学生,或者只能通过学生访问老师. 2.双向关系:关联的两端可以互相访问.例如:老师和学生之间可以互相访问. 单向关联可 ...
- kylin查询出现日期对应不上的情况
情况: 查询的是2016年1月2日的数据,但返回解析出来的数据确实是2号的,可是时间竟然变成了2016年1月1日. 解决: 是时区问题,修改本地时区 具体代码,主要是看加红加粗的: public st ...
- LR检查点的if (status == LR_FAIL)写法
C语言例子:登录失败返回一个信息 int status = web_url("Login", "URL=https://secure.computing.com//log ...