【转】WPF基础:基本概念和功能

基本概念和功能

WPF是一个针对Windows的统一的全新显示系统,该系统专门针对.NET而设计,其中主要包括一个显示引擎和一组受管类。以上对于WPF概念的解释显然有些简单和抽象,不过读者可首先从以下三个方面来加深了解:

(1)WPF为用户界面、2D/3D图形、文档和媒体提供了统一的描述和操作方法。基于DirectX 9/10技术的WPF不仅带来了前所未有的3D界面,而且其图形向量渲染引擎也大大改进了传统的2D界面,例如Vista中的半透明效果的窗体等都得益于WPF。

(2)XAML是微软为构建下一代应用程序界面而创建的,新的基于XML的描述性语言,它可对WPF程序的所有界面元素进行定制,从而构成具有WPF风格 的界面,并最终形成一个组织良好的XML文档。利用XAML可使得描述代码和程序逻辑代码得以分开(有些类似ASP.NET),从而提高开发效率并有利于 团队开发。

(3)WPF具有多种优点。例如使用统一模型,广泛支持多种媒体类型的集成;丰富的自定义功能;简单的部署方法;革命性的声明性编程模式;支持硬件加速等。

WPF支持的功能众多,主要包括:
基本用户界面:这是WPF最基本,最重要的功能。利用WPF提供的面板和控件,可实现应用程序的基本布局和呈现等。
文 档:WPF应用程序可以使用XAML的FixedDocument标记来显示XPS文档。也可以使用FlowDocument标记来显示流文档。流文档与 传统的屏幕文档类似,能够让用户滚动浏览其内容。另外,开发人员通过设置此标记的不同属性,可以使文档更适应其环境。例如,文档可以每次显示一页,这样读 者就不必上下滚动页面了。WPF还能够根据显示文档的窗口大小来自动确定应该把文档拆分成多少列,其目的是尽量提高屏幕上文档的可读性。

图形:WPF还支持创建二维和三维矢量图形。对于二维作业,WPF可提供标准抽象,例如形状、画笔和绘图笔,同时还允许三维图形定义模型,以用于指定光线 和摄像机位置信息。与早期技术(例如Windows Forms 需要依赖于GDI+才能绘制图形)不同的是,WPF图形并不是使用开发人员所必须了解的单独一组概念来进行分区的。相反,用于图形的XAML元素能够与那 些用户界面其他方面的元素自然组合。按钮可带有图形内容,文本和图形可以组合,以及其他更多功能。

图像:使用XAML的图像标记,WPF 应用程序可以显示不同格式的图形,包括JPEG、GIF以及其他格式。WPF依靠Windows Imaging Component(WIC)为编解码器以及显示和存储图像的软件提供标准框架。在WPF中,通常图像元素可以与其他元素组合,能够让按钮显示图像而不是 简单的文本标签。

媒体:WPF应用程序可以使用MediaElement标记来显示不同格式的视频和音频,包括 WMV、AVI和MPEG。同样,此元素也可与其他XAML元素相组合,例如使三维立方体的所有侧面上都显示视频。

动画:WPF提供动态显示绝大部分用户界面的内置支持。例如,放大和缩小圆圈、顺利地更改按钮大小。应用程序还可以定义包含时间线的情节提要,允许调整动画的发生顺序。

数据绑定:由于许多 WPF 应用程序都需要显示数据,因此提供将数据映射到用户界面元素的自动支持功能是很有帮助的。WPF可为包含在对象和其他源中的信息提供此类数据绑定。WPF数据绑定还允许在显示数据前对其进行排序和筛选。

3. 学习建议

目前,关注和学习WPF技术的朋友们越来越多,但是由于种种原因,国内读者关注的中文资料比较少见,所以不得不阅读英文资料,这实在是无奈之举。下面笔者将结合自身学习WPF技术的经验,为各位读者提供一些学习建议,目的是希望帮助各位读者少走弯路。

首先,初学者需要对WPF技术建立大致了解,例如了解WPF与.NET 3.0之间的关系、引入WPF的原因、WPF的功能、系统框架、开发环境等。为此,读者可以通过搜索引擎查找相关内容,或者采用阅读本系列文章等方法来获取这些知识。

然后,初学者将进入初级内容的学习阶段,包括了解开发WPF应用程序的步骤,布局、控件使用、数据绑定、图形图像、部署等等。对于这些内容的学习,建议初学者多多阅读MSDN。在阅读文档的同时,一定要加强实践,多编码多练习,才能更好的理解知识,打牢基础。

最后,建议读者深入学习和研究一些WPF的典型实例,例如实例Family Show。读者可在http://www.vertigo.com/familyshow.aspx找到相关的资料。New York Times Reader也是很有名的WPF实例。有关它的详细信息可以参考:http://firstlook.nytimes.com/。通过学习研究这些典型实例,初学者将得到飞速的提高。

小结
通过本文的介绍,相信读者已经了解了一些WPF技术的基础知识。实际上,WPF不仅是一个复杂的图形引擎,而更重要的是WPF将为开发Windows应用 程序掀开新的篇章。尤其是使用标记构建界面,使用代码编写逻辑的特点,将彻底打破过去Windows程序开发人员所固守的思维概念。相信随着微软公司在操 作系统,市场宣传,以及广大业界支持的条件下,WPF必将迎来广阔的前景。

在随后的系列文章中,读者将逐渐深入了解WPF技术的相关知识,例如WPF系统架构,类层次,开发环境等。

 

posted @ 2008-09-09 16:33  DJ尐舞  阅读(500)  评论(0编辑  收藏  举报