开发人员在处理一个图形界面的时候,首先考虑使用的就是由微软开发的一款叫做WPF的图形界面处理工具。它是一个针对Windows的统一的全新显示系统,该系统专门针对.NET而设计,其中主要包括一个显示引擎和一组受管类。#t#
以上对于WPF概念的解释显然有些简单和抽象,不过读者可首先从以下三个方面来加深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提供的面板和控件,可实现应用程序的基本布局和呈现等。
文档:WPF应用程序可以使用XAML的FixedDocument标记来显示XPS文档。也可以使用FlowDocument标记来显示流文档。流文档与传统的屏幕文档类似,能够让用户滚动浏览其内容。
另外,开发人员通过设置此标记的不同属性,可以使文档更适应其环境。例如,文档可以每次显示一页,这样读者就不必上下滚动页面了。WPF还能够根据显示文档的窗口大小来自动确定应该把文档拆分成多少列,其目的是尽量提高屏幕上文档的可读性。
WPF功能之图形:WPF还支持创建二维和三维矢量图形。对于二维作业,WPF可提供标准抽象,例如形状、画笔和绘图笔,同时还允许三维图形定义模型,以用于指定光线和摄像机位置信息。与早期技术(例如Windows Forms 需要依赖于GDI+才能绘制图形)不同的是,WPF图形并不是使用开发人员所必须了解的单独一组概念来进行分区的。
相反,用于图形的XAML元素能够与那些用户界面其他方面的元素自然组合。按钮可带有图形内容,文本和图形可以组合,以及其他更多功能。
WPF功能之图像:使用XAML的图像标记,WPF 应用程序可以显示不同格式的图形,包括JPEG、GIF以及其他格式。WPF依靠Windows Imaging Component(WIC)为编解码器以及显示和存储图像的软件提供标准框架。在WPF中,通常图像元素可以与其他元素组合,能够让按钮显示图像而不是简单的文本标签。
WPF功能之媒体:WPF应用程序可以使用MediaElement标记来显示不同格式的视频和音频,包括 WMV、AVI和MPEG。同样,此元素也可与其他XAML元素相组合,例如使三维立方体的所有侧面上都显示视频。
WPF功能之动画:WPF提供动态显示绝大部分用户界面的内置支持。例如,放大和缩小圆圈、顺利地更改按钮大小。应用程序还可以定义包含时间线的情节提要,允许调整动画的发生顺序。
WPF功能之数据绑定:由于许多 WPF 应用程序都需要显示数据,因此提供将数据映射到用户界面元素的自动支持功能是很有帮助的。WPF可为包含在对象和其他源中的信息提供此类数据绑定。WPF数据绑定还允许在显示数据前对其进行排序和筛选。