热门关键字:  听力密码  听力密码  新概念美语  单词密码  巧用听写练听力

深入浅出WPF

中国水利水电出版社
    【作 者】刘铁猛 著 【I S B N 】978-7-5084-7635-3 【责任编辑】杨元泓 【适用读者群】科技 【出版时间】2010-07-01 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】 【千字数】437 【印 张】19 【定 价】45 【丛 书】 【备注信息】
图书详情

    WPF是微软新一代开发技术,涵盖了桌面应用程序开发、网络应用程序开发和移动应用程序开发,是微软开发技术未来十年的主要方向。

    本书的内容分为两大部分。第一部分是学习WPF开发的基础知识,包括XAML语言的详细剖析、WPF控件的使用、用户界面布局的介绍。第二部分是作为优秀WPF程序员所应掌握的知识,包括依赖对象和数据关联、路由事件与命令、数据模板与控件模板、绘图与动画等。

    本书作者具有多年WPF开发经验,历经多个大型项目,现任微软(美国)下载中心项目组高级开发工程师。本书是作者多年来学习和使用WPF的经验总结。

    本书包含了众多WPF面试点,作者凭借书中的知识顺利通过微软(美国)的面试。

    ◆ 深入之美 精辟分析WPF源代码,洞察功能背后隐藏的深刻设计理念

    ◆ 浅出之美 最浅显得生活案例,融化最抽象的高级概念

    ◆ 分离之美 掌握UI与逻辑如何真正分离,享受变与不变的快感

    ◆ 自然之美 全新的数据驱动UI理念,让数据重归核心地位

    ◆ 感观之美 强大的图形引擎,实现绝对震撼的UI视觉

    本书的写作缘起几年前我学习WPF。因为我是从Windows Forms开发转来做WPF开发的,学习过程中遇到很多新概念、新特性,其中包括Data Binding、路由事件、命令、各种模板等。我的工作风格是对于每个新知识,一定先把它理解透彻、搞明白再应用于项目中,不然总感觉使用起来不放心,于是就对照已有的英文书籍和MSDN逐一研究这些知识点。每有所得,都喜欢写成博客发表在网上,一来供大家学习参考,二来做一个积累、防止以后遗忘。博客发表之后收到很多读者的反馈和鼓励,大家希望我能把这些文章编撰成册、形成一本学习教材,于是我下决心开始写这本书。这本书的名字也就随了系列博客文章的名字——《深入浅出WPF》。

    之所以叫“深入浅出”,原因有两个。名为“深入”,是想把WPF也诠释一番,所以书中的每个例子都有可供剖析的实例,对于一些重要概念,我通过分析WPF的源代码给予阐述(.NET Framework的部分源代码是向开发人员开放的,其中就包含WPF的源代码)。名为“浅出”,是因为几乎每个概念我都会用生活中浅显易懂的例子进行类比,让读者可以轻松理解,降低学习抽象知识的痛苦。

    为本书起这个名字,也是出于我对《深入浅出MFC》这本书的景仰之情。我刚刚开始学编程的时候正是MFC流行的年代,《深入浅出MFC》这本书给我的学习风格打下了深深的烙印。其中对我影响最深刻的,一个是它对MFC源码的分析,另一个是“勿在浮沙筑高台”、凡事必究其理的探索精神。在后来的近十年工作中,分析和学习微软开发框架的源码成为我工作的方法论。本书中包含了一些对WPF源码的分析,帮助大家对WPF有个透彻的理解。我以《深入浅出MFC》一书为准绳和鞭策自己的力量,希望能为大家奉上一本有用的好书。

    写博客容易,写书难。写博客,内容上可以不那么连贯、不太严谨,写书就不一样了,要求每个知识点都要仔细琢磨、谨慎下笔,经常是写了满满一篇之后感觉不满意又删掉重来,直到我认为初级读者也能顺畅理解为止。多少个不眠之夜就是在这种字斟句酌中转瞬即逝,一年下来,头上也冒出了很多白发。我想,既然写书,那就要把自己的心血奉献给读者,这样才对得起读者也对得起自己。

    本书并不是一本大而全的WPF宝典,而是WPF在实际工作中用到最多的部分。所以在“轻松幽默、深入浅出”的风格基础上,本书力求实用。写书的过程其实也是对WPF进行深耕的过程,本书写作过半时,我偶然获得一个机会可以参加微软的一个开发项目,面试我的是美国微软的一位高级项目经理(现在是我的老板),面试的内容就是WPF开发。我基本上都是用书中的原话作答,十分顺利——我获得了来美国工作的机会,目前负责微软下载中心管理工具的开发。我想,这也算是对本书内容的一次检验,衷心希望大家在学习完这本书中的内容后也能在自己的职业发展上获得进步。

    毕竟我的水平有限,尽管下力气去写但还是感觉很粗浅;有些知识超出微软官方文档的覆盖,我也融入一点自己的判断,对WPF源码的阅读也是在探索中前行,所以,书中疏漏之处再所难免。希望大家能够多多给予宽容并提出宝贵的建议。我将在本书的后续版本中不断丰富内容、修改错误,让这本书成为一本“活书”、一直为大家服务下去。本书的纠错及更正将发布在http://www.cnblogs.com/prism。我的MSN是wpfgeek@live.com,期待与热爱WPF技术的朋友共同学习和探讨。

    写作缘起
    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

最新评论共有 2 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册