第一图书网

WPF编程宝典

麦克唐纳 清华大学
出版时间:

2011-6  

出版社:

清华大学  

作者:

麦克唐纳  

译者:

王德才  

Tag标签:

无  

前言

  .NET问世之初便引入了一些重要的新技术,包括编写Web应用程序的全新方法(ASP.NET)、连接数据库的全新方法(ADO.NET)、新的类型安全的语言(C#和VB.NET)以及托管的运行时(CLR)。在这些新技术中,其中的一项重要技术是Windows窗体,它是用于构建Windows应用程序的类库。  尽管Windows窗体是一个成熟且功能完整的工具包,但它使用的是在过去十年中基本没有变化的Windows技术。最重要的是,Windows窗体依靠Windows API创建标准用户界面元素的可视化外观,如按钮、文本框和复选框等。所以,这些要素在本质上是不可定制的。  例如,如果希望创建一个外观时髦的光晕按钮,需要创建一个自定义控件,并使用低级的绘图模型为按钮(各种不同的状态)绘制各个方面的细节。更糟糕的是,普通窗口被切割成不同的区域,每个控件完全拥有自己的区域。所以,没有比较好的绘制方法可将一个控件的内容(如按钮背后的辉光效果)延伸到其他控件所占的区域中。更不要指望实现动画效果,如旋转文本、闪烁按钮、收缩窗口以及实时预览等,因为对于这些效果必须手工绘制每个细节。  Windows演示基础(Windows Presentation Foundation,WPF)通过引入一个使用完全不同技术的新模型改变了所有这一切。尽管WPF也提供了熟悉的标准控件,但是它“自行”绘制每个文本、边框和背景填充。所以,WPF能提供更强大的功能,可以改变渲染屏幕上所有内容的方式。使用这些特性,可以重新设置常见控件的样式(如按钮),并且通常不需要编写任何代码。同样,可以使用变换对象旋转、拉伸、缩放以及扭曲用户界面中的所有内容,甚至可以使用WPF动画系统对用户界面中的内容进行变换。并且因为WPF引擎将在窗口上渲染的内容作为单独操作的一部分,所以它能够处理任意多层相互重叠的控件,即使这些控件具有不规则的形状且是半透明的也同样如此。  在WPF这些新特性的背后是基于DirectX的功能强大的基础结构,DirectX是一套硬件加速的图形API,通常用于开发最前沿的计算机游戏。这意味着可以使用丰富的图形效果,而不会损失性能,而使用Windows窗体实现这类效果会严重影响程序运行的性能。实际上,甚至可以使用更高级特性,例如,对视频文件和3D内容的支持。使用这些特性(以及优秀的设计工具),可以创建出赏心悦目的用户界面和可视化效果,而使用Windows窗体技术是无法实现这些效果的。  尽管通常最关注WPF中最前沿的视频、动画以及3D特性,但有必要指出,可以使用WPF的标准控件和简单的可视化外观来构建常规Windows应用程序。实际上,使用WPF中的通用控件与使用Windows窗体中的通用控件同样容易。更值得一提的是,WPF增强了商业开发人员所需要的特性,包括大幅改进的数据绑定模型、一套用于打印以及管理打印队列的新类,以及用于显示大量格式化文本的文档特性。甚至提供了用于构建基于页面的应用程序的模型,这种应用程序可以在Internet Explorer中无缝地运行,并且能够从Web站点加载,所有这些操作都不会出现常见的安全警告和令人讨厌的安装提示。  总之,WPF将以前Windows开发领域中的精华和当今的创新技术融为一体,来构建现代的、富图形用户界面。尽管Windows窗体应用程序还将继续维持数年,但是从事新的Windows开发项目的开发人员应当首选WPF。  关于本书  本书针对了解.NET平台、C#语言以及Visual Studio开发环境的专业开发人员,深入分析了WPF。在学习本书前,不需要具备使用以前版本WPF的经验,而使用过WPF的开发人员可以通过阅读每章开头“新增功能”中突出显示的WPF新特性。  本书全面描述了所有WPF的主要特性,从XAML(用于定义WPF用户界面的标记语言)到3D绘图和动画。本书很少编写涉及.NET Framework其他特性的代码,如用于查询数据库的ADO.NET类。本书中不讨论这些内容。但如果需要更多有关.NET而非特定于WPF的特性,请参考Apress出版的许多专门介绍.NET的书籍。  内容概述  本书一共包括33章。如果刚开始学习WPF,将会发现按照章节顺序阅读本书是最容易的方法,因为后续章节常用到前面章节中演示的技术。  下面是本书每一章的主要内容:  第1章:WPF概述 介绍WPF的体系结构,WPF的DirectX基础设施,以及新的能够自动改变用户界面尺寸的设备无关度量系统。  第2章:XAML 介绍用于定义用户界面的XAML标准。该章将讨论为什么创建XAML以及它的工作原理,并且将使用不同的编码方法创建一个基本的WPF窗口。  第3章:布局 深入研究在WPF窗口中用于组织元素的布局面板。该章将分析不同的布局策略,并且将构建一些普通类型的窗口。  第4章:依赖项属性 介绍WPF如何使用依赖项属性来支持重要特性,如数据绑定和动画。  第5章:路由事件 介绍WPF如何使用事件路由在用户界面元素中发送冒泡路由事件或隧道路由事件。还介绍所有WPF元素都支持的一组基本鼠标、键盘以及多点触控事件。  第6章:控件 分析所有Windows开发人员都非常熟悉的控件,如按钮、文本框和标签,还讨论它们在WPF中的区别。  第7章:Application类 介绍WPF应用程序模型。在该章将会看到如何创建单实例和基于文档的WPF应用程序。  第8章:元素绑定 介绍WPF数据绑定。在该章将会看到如何将任意类型的对象绑定到用户界面。  第9章:命令 介绍WPF命令模型,使用WPF命令模型可将多个控件连接到同一个逻辑操作。  第10章:资源 介绍如何使用资源在程序集中嵌入二进制文件,以及如何在整个用户界面中重用重要的对象。  第11章:样式和行为 解释WPF样式系统,使用WPF样式可以为一整组控件应用一套通用属性值。  第12章:形状、画刷和变换 介绍WPF中的2D绘图模型。在该章将学习如何创建形状、使用变换改变元素,以及使用渐变画刷、图像画刷和平铺图像画刷绘制特殊效果。  第13章:几何图形和图画 深入分析2D绘图。在该章将学习如何创建包含弧线和曲线的复杂路径,以及如何高效地使用复杂图形。  第14章:效果和可视化对象 介绍低级的图形编程。在该章将使用像素着色器应用Photo风格的效果,手动构建位图,并且为了优化绘图性能使用WPF的可视化层。  第15章:动画基础 研究WPF的动画框架,通过WPF动画框架可以使用简单的、声明式的标记将动态效果集成到应用程序中。  第16章:高级动画 研究了更高级的动画技术,如关键帧动画、基于路径的动画以及基于帧的动画。还将分析一个详明的示例,展示如何使用代码创建和管理动态的动画。  第17章:控件模板 介绍如何通过插入一个定制的模板为任意WPF控件提供动态的新外观(以及新行为)。还将看到如何使用模板构建能够换肤的应用程序。  第18章:自定义元素 研究如何扩展现有的WPF控件,以及如何创建自己的控件。在该章中将看到几个示例,包括基于模板的颜色拾取器、可翻转的面板、自定义的布局容器,以及执行自定义绘图的装饰元素。  第19章:数据绑定 展示如何从数据库获取信息,将获取的信息插入到自定义的数据对象中,并将这些数据对象绑定到WPF控件。还将学习如何使用虚拟化技术提高大型数据绑定列表的性能,以及如何使用验证方法捕获编辑错误。  第20章:格式化绑定的数据 展示将原始数据转换为包含图片、控件以及选择效果的富数据显示的一些技巧。  第21章:数据视图 分析如何在数据绑定窗口中使用视图在数据项中导航,以及应用过滤、分类和分组。  第22章:列表、网格和树 带您浏览WPF中的富数据控件,包括ListView、TreeView和DataGrid。  第23章:窗口 分析WPF中窗口的工作原理。在该章还将学习如何创建不规则形状的窗口,以及如何使用Vista玻璃效果。还将通过定制任务栏跳转列表、缩略图以及图标重叠实现大部分Windows 7特性。  第24章:页面和导航 介绍如何使用WPF构建页面,以及保持跟踪导航历史。该章还将介绍如何构建驻留于浏览器中的WPF应用程序,这种应用程序可以从Web站点加载。  第25章:菜单、工具栏和功能区 分析面向命令的控件,如菜单和工具栏。在该章还将使用可免费下载的Ribbon控件尝试更富有现代气息的用户界面。  第26章:声音和视频 介绍WPF媒体支持。在该章将会看到如何控制声音和视频的播放,以及如何合成动画和生动鲜活的效果。  第27章:3D绘图 研究WPF中对绘制3D图形的支持。在该章将学习如何创建和变换3D对象,以及如何为3D对象添加动画。甚至还会看到如何在3D表面上放置可交互的2D控件。  第28章:文档 介绍WPF富文档支持。在该章将学习如何使用流文档以尽可能容易阅读的方式展现大量文本,并将学习如何使用固定文档显示准备打印的页面。甚至还将学习如何使用RichTextBox控件提供文档编辑功能。  第29章:打印 演示WPF的打印模型,通过该打印模型可以在打印文档中绘制文本和图形。在该章还将学习如何管理页面设置和打印队列。  第30章:与Windows窗体的交互 分析如何在一个应用程序—— 甚至在一个窗口中,结合使用WPF和Windows窗体内容。  第31章:多线程 介绍如何创建具有良好响应性的、在后台执行耗时的WPF应用程序。  第32章:插件模型 展示如何创建可扩展的、能够动态发现和加载独立组件的应用程序。  第33章:ClickOnce部署 展示如何使用ClickOnce安装模型部署WPF应用程序。  使用本书的前提条件  为了运行WPF 4应用程序,计算机中必须安装Windows 7、Windows Vista或带有Windows XP SP2。还需要.NET Framework 4。为了创建WPF 4应用程序(以及为了能够打开本书中所提供的示例项目),需要安装Visual Studio 2010,Visual Studio 2010中包含了.NET Framework 4。  还有一种选择。不使用任何版本的Visual Studio,可以使用Expression Blend(一种面向图形的设计工具)来构建和测试WPF应用程序。总之,Expression Blend是面向图形设计人员的工具,他们使用该工具创建绚丽的内容;而对于编写大量代码的编程人员来说,Visual Studio则是理想的工具。本书假定使用的是Visual Studio。如果想学习更多有关Expression Blend的内容,可以参阅有关该主题的专门书籍(顺便提一下,为使用WPF 4创建应用程序,需要Expression Blend 4,在撰写本书时它还是一个beta版本)。  代码示例和URL 

内容概要

  本书针对了解,NET平台、C#语言以及Visual
Studio开发环境的专业开发人员,深入分析了WPF。在学习《WPF编程宝典:C#(2010版)》前,不需要具备使用以前版本WPF的经验,而使用过WPF的开发人员可以通过阅读每章开头“新增功能”中突出显示的WPF新特性。
  本书全面描述了所有WPF的主要特性,从XAML(用于定义WPF用户界面的标记语言)到3D绘图和动画。《WPF编程宝典:C#(2010版)》很少编写涉及.NET
Framework其他特性的代码,如用于查询数据库的ADO.NET类。《WPF编程宝典:C#(2010版)》中不讨论这些内容。但如果需要更多有关.NET而非特定于WPF的特性,请参考Apress出版的许多专门介绍.NET的书籍。

作者简介

  麦克唐纳(Matthew
MacDonald),是一位作家、教育家,也是微软最有价值专家。他撰写了十多本有关.NET编程的书籍,包括Pro
Silverlight 3 in C#(2009年Apress出版)和Pro ASP.NET 3.5
inC#(2007年Apress出版)以及本书的前一版本。目前他与妻子以及两个女儿居住在多伦多。

书籍目录

第1章 WPF概述
 1.1 Windows图形演化
  1.1.1 DirectX:新的图形引擎
  1.1.2 硬件加速与WPF
 1.2 WPF:高级API
  1.2.1 Windows窗体将继续保留
  1.2.2 DirectX也将继续保留
  1.2.3 Silverlight
 1.3 分辨率无关性
  1.3.1 WPF单位
  1.3.2 系统DPI
  1.3.3 位图和矢量图形
 1.4 WPF体系结构
 1.5 WPF4
  1.5.1 新特性
  1.5.2 WPF工具包
  1.5.3 VisualStudio2010
 1.6 小结
第2章 XAML
 2.1 理解XAML
  2.1.1 WPF之前的图形用户界面
  2.1.2 XAML变体
  2.1.3 XAML编译
 2.2 XAML基础
  2.2.1 XAML名称空间
  2.2.2 代码隐藏类
 2.3 XAML中的属性和事件
  2.3.1 简单属性与类型转换器
  2.3.2 复杂属性
  2.3.3 标记扩展
  2.3.4 附加属性
  2.3.5 嵌套元素
  2.3.6 特殊字符与空白
  2.3.7 事件
  2.3.8 完整的EightBall示例
 2.4 使用其他名称空间中的类型
 2.5 加载和编译XAML
  2.5.1 只使用代码
  2.5.2 使用代码和未经编译的XAML
  2.5.3 使用代码和编译过的XAML
  2.5.4 只使用XAML
 2.6 XAML2009
  2.6.1 自动事件连接
  2.6.2 引用
  2.6.3 内置类型
  2.6.4 高级的对象创建
 2.7 小结
第3章 布局
 3.1 理解WPF中的布局
  3.1.1 WPF布局原则
  3.1.2 布局过程
  3.1.3 布局容器
 3.2 使用StaCkPanel面板进行简单布局
  3.2.1 布局属性
  3.2.2 对齐方式
  3.2.3 边距
  3.2.4 最小尺寸、最大尺寸以及显式地设置尺寸
  3.2.5 Border控件
 3.3 wrapPanel面板和DockPanel面板
  3.3.1 wrapPanel面板
  3.3.2 DockPanel面板
  ……
第4章 依赖项属性
第5章 路由事件
第6章 控件
第7章 application类
第8章 元素绑定
第9章 命令
第10章 资源
第11章 样式和行为
第12章 形状、画刷和变换
第13章 几何图形和图画
第14章 效果和可视比对象
第15章 动画基础
第16章 高级动画
第17章 控件模板
第18章 自定义元素
第19章 数据绑定
第20章 格式化绑定的数据
第21章 数据视图
第22章 列表、网格和树
第23章 窗口
第24章 页面和导航
第25章 菜单、工具栏和功能区
第26章 声音和视频
第27章 3d绘图
第28章 文档
第29章 打印
第30章 与windows窗体的交互
第31章 多线程
第32章 插件模型
第33章 clickonce部署

章节摘录

版权页:插图:


编辑推荐

《WPF编程宝典:C#(2010版)》:尊敬的读者:多年来,NET开发人员一直使用WindowS窗体工具包创建Windows应用程序。尽管Windows窗体是一项相当成熟的技术,但存在一个严重的局限性:它依赖于近十年来基本未变的Windows关键组件。WPF改变了这一切。WPF仍然包含您熟悉的标准控件,但它使用性能卓越的DirectX引擎“自行”绘制控件的每个细节,可提供一系列令人赏心悦目的新功能。例如,您不必编写代码即可定制精美的诸如按钮的常用控件,还可旋转、拉伸、缩放和扭曲用户界面元素来制作生动鲜活的动画效果。您可以用WPF得心应手地完成过去用Windows窗体难以完成甚至几乎无法完成的任务,如播放媒体文件或创建带有纹理的三维图形。WPF 4是迄今为止最激动人心的WPF版本。它新增了DataGrid等专业控件,支持多点触控屏幕和新任务栏等Windows 7功能,增强了文本渲染功能,提供了更逼真的动画以及PhotoShop风格的像素着色器。《WPF编程宝典——C#2010版》全面介绍WPF平台,浓墨重彩地描述wPF 4的新功能,将帮助您设计、构建以及润色WPF作品。无论您是初出茅庐的WPF新手,还是使用过WPF旧版本的WPF专业人员,《WPF编程宝典:C#(2010版)》都将成为您的良师益友。祝您通过《WPF编程宝典:C#(2010版)》学到丰富的WPF知识,享受到美妙的编程乐趣!MattheW MacDonald(Microsoft MVP.MCSD)

图书封面

图书标签Tags

广告

下载页面


WPF编程宝典 PDF格式下载



您可以用WPF得心应手地完成过去用Windows窗体难以完成甚至几乎无法完成的任务,如播放媒体文件或创建带有纹理的三维图形。


之前买一是学silverlight还不如学WPF,二是以后准备要走windows phone移动开发这块,学WPF对以后学windows phone开发有好处。容易一点。


基于framework4.0,VS2010开发环境下的WPF开发介绍,适合入门级和深入学习级的人阅读,书比较厚有918页,不过读起来感觉还是挺爽的,内容介绍的很详细,可以深入的了解最新****4.0中的WPF功能


书的内容比较实在、丰富,是一本好书。纸张质量也不错,个人认为比wpf高级编程那本书更好


感觉很好,有一定基础的人在看吧。第一步是看一些基础的,第二部 看一些高级编程,如c#高级编程,****高级编程。 第三部才是看什么wpf 和wcf ,高级编程


这本书对于SILVERLIGHT, WP7应用来说都是一本非常好的教材书籍,讲的由浅入深,从各方面对WPF进行扫盲,如果有学习此方向的朋友,只要购此书一本+实战就可以大致满足日常开发。


之前开发过Winform项目,对于微软对win8的战略,学习和运用wpf,这本书比较详细的介绍了基础知识,结合自己的学习经验使用起来好不错,这本书在和同事分享了都买了2本了!先收藏吧!有空就给自己充电……


WPF技术介绍的比较全面,不仅适合初学者,对中级开发人员也是一本不错的参考书


好书,wpf一直想看,2010版本再不买以后出新版了就断货喽。


收到书,迫不及待粗读了一遍,感觉内容全面,顺序编排合理,WPF的思想脉络介绍的也详细,很有学习、参考价值。


对WPF诠释的很详细,对有针对性的用户很有帮助,其他的请绕道


这是一本关于C#开发WPF的国外工具书,写得详细,深入,值得一读


内容非常详细,每个知识点都会有例子,讲解非常到位。学习WPF必备书籍


很适合想深入了解WPF的人.WPF的东西都讲的很全面.


了解WPF必备,覆盖比较全面


很好,很全面。学WPF的必备书!


写得很清晰,技术对WPF交代的清楚


WPF很厚,讲的比较全面详细,是一本呢很不错的书!


一直对WPF很感兴趣,希望本书能帮到我


读完《深入浅出WPF》入门了,看这本来深入了解


你想了解WPF吗,就买这本书就够了。


内容很详细,学习wpf不可多得的好书,正在学习中!


很不错的一本书,学习WPF必备!!


用这本书学习WPF入门很好


WPF的方方面面介绍的非常详细,属于基础入门级别,也是不错的工具书....


wpf将的很深入,配合深入浅出wpf看会更好


非常好的书,wpf学习必备的,内容充实,样例demo比较多,比较容易掌握和学习。好评啊!


书很好,大师的作品就是不错。另外还有一本国人写的WPF也不错


刚开始学WPF,不过看了里面挺详细,很不错


如果想好好血WPF的话真的要好好看看这本书


准备向WPF进军,买了这边书,可以作为工具书用。也准备比较体系的学习一下。


发货速度挺快的,书的质量也还不错。
书还没开始看,只是大概把目录看了,但对于学习WPF的开发者来说,应该是不错的选择。


学习WPF必读!


非常好的书,学习wpf必备。


估计是市面上唯一有用的wpf书了


第一次接触WPF 书还不错


wpf值得拥有


为数不多的可选择的wpf4的书藉,接近1k页数,比较详细,适合初中级水平


质量不错,看看目录,WPF入门没问题!


还没细看,浏览了一下内容,界面编程的方方面面都涉及到了


这本书买了还直没事件去看,不过翻了下很不错。


内容很全面,讲的也很到位,难度适宜;由于工作需要,正在学习中!


这本书很全面,适合新手看


这本书很好,内容全面,知识丰富,不论是初学者还是高手,都该有一本


不能说最好,只能说最全!不过在本人心中就是最好的!!!新很书嘛!


内容全面,要深入学习还要多多钻研


今天拿到书就迫不及待的翻起来。里面的内容非常详细,而且考虑非常全面,很多细节都照顾到,我喜欢!!!


买了几本关于C#的书籍,下单之后就遇上满100减25之类的活动,亏了点钱啊,嘿嘿。


不错,可以作为参考书使用


书中的每个知识点诠释的很详细,是新手自学、高手温习 必备读物。


很全面,适合深入学习之用,不建议入门


有一定程序基础会很容易上手,不错。很全面的一本


这本书真的不错,但要是买过2008那本,这本就暂时可以考虑不买了,没什么大的改变!我就买了两本


经典的书籍,每次看都有收获


这本书对我帮助挺大的,还在努力的学习中。。。。


这本书写得很详细,各方面的知识都有涉及,值得推荐。


这本书刚到手,内容还没来得及看,不过网上的评价都比较好,我个人觉得也挺好,最起码里面的内容印刷的都很清楚,我很满意,就是送货速度慢了点,我六号晚上下的单,7号那边发货,8号凌晨到的芜湖,不过在这边呆了三天(周五周六周日)都没消息,直到今天中午才到


内容很丰富,涉及到很多知识点


很全面,方便查阅


本书较为厚重,具体实例也讲解清晰,值得研究


书很好,很专业。很不错的。


这本书写的不错,很深入,对我来讲很有用。


相当厚实的书。装订和印刷都不错。


英文版已经完整的读过了,所以知道这是本相当不错的书,中文版的书刚收到,大概翻了下,翻译水平还没发现啥大毛病。值得推荐!


书内容很好 不过送来的时候书角全部都卷起来了 希望下次包装认真点啊


未看...


已经看了三章,书挺好的,就是收到货时书的角折起来了,不影响阅读,就算了!


印刷挺好,质量挺好,就是没有享受到任何优惠


权威 喜欢。


学习使作中


内容很好,适合有基础的同志进阶学习


刚看了一章,还行!


好书,,能学到很多


很好 我很喜欢!正在学呢!


凌晨下的单,下午就送到了,是因为看了别人的评价很好,,所以选了这本书,应该很不错。。刚开始看


这本书讲的很细,很适合初学者,唯一不好的一点就是翻译的不是很准


真心不错的好书,赞一个


刚开始学习,感觉挺不错


真的还不错,等学习完了再看看


优点:非常详近,无论学习,还是当工具书都非常好。 缺点:将近1000页,有点重, 如果是那种非常轻的纸 那就霸道了。


不错,徒弟在学习


书本质量还行 就是封面被磨的掉了颜色,不知道他们是怎么保存书的,书中的纸张质量还可以,


没仔细看内容呢,书本身的质量挺好。


内容充实,见解独特


内容特别多,很值。


书不错,有点厚,内容很全,快递也很不错来得很快!


书的质量不错,内容很不错,大概翻了一下,还行,当当信誉很好


内容非常棒,就是纸张比较一般


发货速度很快,书的质量,内容都很满意,当当的服务很贴心,谢谢。


经典书啊,很详细,值得拥有!


不错,活动时买的 用的时候看看


不错,5折呢


挺厚的一本,物有所值。


刚到手,大体看了一下,感觉挺好的!


书很不错,WPF讲的比较全面


书质量不错.干净.没褶皱.是正版的.喜欢.


刚拿到手,才开始看。


确实是一本经典好书,值得一读!


看起来很厚不过讲太笼统,有些地方不够详细


帮同事买的,反应挺好的,推荐。


相关图书