目录

写作缘起
WPF之What & Why
致谢
第一部分  深入浅出话XAML

第1章  XAML概览 2
1.1  XAML是什么 2
1.2  XAML的优点 3
第2章  从零起步认识XAML 5
2.1  新建WPF项目 5
2.2  剖析最简单的XAML代码 8
第3章  系统学习XAML语法 14
3.1  XAML文档的树形结构 14
3.2  XAML中为对象属性赋值的语法 17
3.2.1  使用标签的Attribute为对象属性赋值 18
3.2.2  使用TypeConverter类将XAML标签的Attribute与对象的Property进行映射 19
3.2.3  属性元素 21
3.2.4  标记扩展(Markup Extensions) 24
3.3  事件处理器与代码后置 26
3.4  导入程序集和引用其中的名称空间 28
3.5  XAML的注释 30
3.6  小结 30
第4章  x名称空间详解 31
4.1  x名称空间里都有什么 31
4.2  x名称空间中的Attribute 32
4.2.1  x:Class 32
4.2.2  x: ClassModifier 33
4.2.3  x: Name 34
4.2.4  x:FieldModifier 36
4.2.5  x:Key 36
4.2.6  x:Shared 38
4.3  x名称空间中的标记扩展 38
4.3.1  x:Type 38
4.3.2  x:Null 40
4.3.3  标记扩展实例的两种声明语法 42
4.3.4  x:Array 42
4.3.5  x:Static 44
4.4  XAML指令元素 45
4.5  小结 46
第5章  控件与布局 47
5.1  控件到底是什么 47
5.2  WPF的内容模型 49
5.3  各类内容模型详解 51
5.3.1  ContentControl族 51
5.3.2  HeaderedContentControl族 52
5.3.3  ItemsControl族 53
5.3.4  HeaderedItemsControl族 57
5.3.5  Decorator族 57
5.3.6  TextBlock和TextBox 58
5.3.7  Shape族元素 58
5.3.8  Panel族元素 58
5.4  UI布局(Layout) 59
5.4.1  布局元素 59
5.4.2  Grid 61
5.4.3  StackPanel 70
5.4.4  Canvas 71
5.4.5  DockPanel 72
5.4.6  WrapPanel 74
5.5  小结 75

第二部分游历WPF内部世界

第6章  深入浅出话Binding 80
6.1  Data Binding在WPF中的地位 81
6.2  Binding基础 82
6.3  Binding的源与路径 87
6.3.1  把控件作为Binding源与Binding标记扩展 87
6.3.2  控制Binding的方向及数据更新 88
6.3.3  Binding的路径(Path) 89
6.3.4  "没有Path"的Binding 92
6.3.5  为Binding指定源(Source)的几种方法 93
6.3.6  没有Source的Binding--使用DataContext作为Binding的源 94
6.3.7  使用集合对象作为列表控件的ItemsSource 98
6.3.8  使用ADO.NET对象作为Binding的源 102
6.3.9  使用XML数据作为Binding的源 105
6.3.10  使用LINQ检索结果作为Binding的源 109
6.3.11  使用ObjectDataProvider对象作为Binding的Source 111
6.3.12  使用Binding的RelativeSource 116
6.4  Binding对数据的转换与校验 120
6.4.1  Binding的数据校验 120
6.4.2  Binding的数据转换 123
6.5  MultiBinding(多路Binding) 128
6.6  小结 131
第7章  深入浅出话属性 132
7.1  属性(Property)的来龙去脉 132
7.2  依赖属性(Dependency Property) 136
7.2.1  依赖属性对内存的使用方式 136
7.2.2  声明和使用依赖属性 137
7.2.3  依赖属性值存取的秘密 143
7.3  附加属性(Attached Properties) 148
第8章  深入浅出话事件 155
8.1  近观WPF的树形结构 155
8.2  事件的来龙去脉 157
8.3  深入浅出路由事件 160
8.3.1  使用WPF内置路由事件 160
8.3.2  自定义路由事件 164
8.3.3  RoutedEventArgs的Source与OriginalSource 169
8.3.4  事件也附加--深入浅出附加事件 171
第9章  深入浅出话命令 175
9.1  命令系统的基本元素与关系 176
9.1.1  命令系统的基本元素 176
9.1.2  基本元素之间的关系 176
9.1.3  小试命令 177
9.1.4  WPF的命令库 180
9.1.5  命令参数 180
9.1.6  命令与Binding的结合 182
9.2  近观命令 183
9.2.1  ICommand接口与RoutedCommand 183
9.2.2  自定义Command 186
第10章  深入浅出话资源 192
10.1  WPF对象级资源的定义与查找 192
10.2  且"静"且"动"用资源 195
10.3  向程序添加二进制资源 196
10.4  使用Pack URI路径访问二进制资源 199
第11章  深入浅出话模板 202
11.1  模板的内涵 202
11.2  数据的外衣DataTemplate 205
11.3  控件的外衣ControlTemplate 214
11.3.1  庖丁解牛看控件 215
11.3.2  ItemsControl的PanelTemplate 220
11.4  DataTemplate与ControlTemplate的关系与应用 221
11.4.1  DataTemplate与ControlTemplate的关系 221
11.4.2  DataTemplate与ControlTemplate的应用 223
11.4.3  寻找失落的控件 230
11.5  深入浅出话Style 236
11.5.1  Style中的Setter 236
11.5.2  Style中的Trigger 237
第12章  绘图和动画 244
12.1  WPF绘图 245
12.2  图形的效果与滤镜 263
12.2.1  简单易用的BitmapEffect 263
12.2.2  丰富多彩的Effect 264
12.3  图形的变形 267
12.3.1  呈现变形 268
12.3.2  布局变形 270
12.4  动画 272
12.4.1  简单独立动画 272
12.4.2  场景 285

[书目20130216]深入浅出WPF相关推荐

  1. 《深入浅出WPF》笔记——事件篇

    如果对事件一点都不了解或者是模棱两可的话,建议先去看张子阳的委托与事件的文章(比较长,或许看完了,也忘记看这一篇了,没事,我会原谅你的)http://www.cnblogs.com/JimmyZhan ...

  2. 深入浅出WPF开发下载

    为什么要学习WPF? 许多朋友也许会问:既然表示层技术那么多,为什么还要推出WPF作为表示层技术呢?我们话精力学习WPF有什么收益和好处呢,这个问题我们从两个方面进行回答. 首先,只要开发表示层程序就 ...

  3. 深入浅出WPF(2)——解剖最简单的GUI程序

    深入浅出WPF(2)--解剖最简单的GUI程序 小序: 从这篇文章开始,我们进行XAML语言的上手学习.说实话,XAML这种语言一点也不难.如果把XML看成是"父类",那么XAML ...

  4. 《深入浅出WPF》笔记——绑定篇(一)

    上一节,有记录写到:在WPF里,数据驱动UI,数据占核心地位,UI次之.怎么恢复数据的核心地位,那就要先了解一下Binding. 一.Binding 基础 1.1WPF中Data Binding的带来 ...

  5. 《深入浅出WPF》系列视频(特辑)——MVVM入门与提高(难度300+)

    原文地址为: <深入浅出WPF>系列视频(特辑)--MVVM入门与提高(难度300+) <深入浅出WPF>系列视频(特辑)--MVVM入门与提高(难度300+) 一年多没有推出 ...

  6. 深入浅出WPF——什么是XAML

    深入浅出WPF--什么是XAML 小序: 还记得周星驰那句话吗?"人如果没有理想,那跟咸鱼有什么区别".当自己一步踏上追求理想的征途,才发现为了理想要放弃很多.很多--只有这时候才 ...

  7. 深入浅出WPF——XAML的优点

    深入浅出WPF--XAML的优点 正文: 2. XAML有哪些优点  前面一节已经向我们透露了XAML的几个优点: • XAML可以设计出专业的UI和动画--好用 • XAML不需要专业的编程知识,它 ...

  8. [转]深入浅出WPF(7)——数据的绿色通道,Binding

    本文转自:http://liutiemeng.blog.51cto.com/120361/95273 小序: 怎么直接从2蹦到7啦?!啊哦,实在是不好意思,最近实在是太忙了,忙的原因也非常简单--自己 ...

  9. 深入浅出WPF学习笔记之Binding

    深入浅出WPF之Binding Binding Binding基础 Binding模型 把控件作为Binding源与Binding标记扩展 Binding的(Path)路径 Binding支持多级路径 ...

最新文章

  1. Transformer模型有多少种变体?复旦邱锡鹏教授团队做了全面综述
  2. HDU2121(最小树形图的模版算法题)
  3. LeetCode: 109. Convert Sorted List to Binary Search Tree
  4. TCL语言笔记:TCL中的String命令
  5. 安装oracle和plsql心得
  6. 解决 /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /lib64/libstdc++.so.6)
  7. 十大办法帮助传统产业数字化转型
  8. Linux主机SSH免密码登录设置
  9. C++基础:第六章 语句
  10. 【渝粤教育】广东开放大学 java程序设计基础 形成性考核 (39)
  11. JAVA中serialVersionUID可以使用hashCode()赋值
  12. class with pointer
  13. 嵌入式 博客导航大牛群集
  14. 计算机大学生三年计划,大学三年规划2000字.doc
  15. quicktime ogv_Windows的QuickTime已死,应卸载以确保安全
  16. 【RNN经典案例】使用RNN模型构建人名分类器(RNN实战-姓名分类)
  17. 《DFS》《剪枝》Problem C. 买蛋糕
  18. Python实现“维基百科六度分隔理论“之基础爬虫
  19. 华为云硬盘备份(VBS)服务
  20. flutter Container设置渐变色

热门文章

  1. .net 2.0 BackgroundWorker类详细用法
  2. python之路---25 模块和包
  3. 2018年GPS定位器会发生什么样变化?
  4. mac os x 添加 用户 所属 组
  5. 微信小程序开发之选项卡
  6. 让Redis在你的系统中发挥更大作用
  7. asp.net 在 Ngnix 服务器 中配置攻略
  8. 我的电脑点不开问题解决方法?
  9. 在datagridview里添加自定义控件列
  10. JS Array.reduce 实现 Array.map 和 Array.filter