WPF基础介绍

      在过去的一年多时间中,微软公司一直在大力推广Vista操作系统。作为开发人员而言,自然会想到开发适应于Vista的下一代Windows应用程序。这注定要用到所关注的WPF(Windows Presentation Foundation)。  

      1. 出处和形成原因
2006年底,微软公司发布.NET Framework 3.0。作为微软精心打造的新一代.NET架构,.NET Framework 3.0默认内置于Vista操作系统中,并担当最主要的应用程序接口。由此可见.NET Framework 3.0与Vista的关系是何等的紧密。
.NET Framework 3.0以2.0版本为基础,同时增加四个重要组件:Windows Presentation Foundation(WPF),Windows Workflow Foundation(WWF)、Windows Communication Foundation(WCF)和Windows CardSpace(WCS)。这些组件是.NET Framework 3.0最具价值的部分。如图1显示了.NET Framework 3.0的组成:

      如图1所示,如果分别使用一句话说明.NET Framework 3.0的各个组成部分,那么可以这样来描述: 
.NET Framework 2.0是Windows应用程序的通用基础。 
Windows Workflow Foundation用于支持基于工作流的应用程序。 
Windows Communication Foundation用于支持面向服务的应用程序。 
Windows CardSpace提供一致的数字标识用户控件。 
Windows Presentation Foundation用于为不同用户界面提供统一的显示系统。 
虽然以上所述的前4项都非常重要,但是鉴于本文主题,还是建议读者多关注有关WPF的说明。虽然可能读者无法真正理解句子的含义,但是至少会产生一个显而易见的疑惑:为什么要在.NET 3.0中使用WPF统一用户界面的呈现呢?

 

      这答案很简单:使用WPF统一用户界面的呈现,解决现代应用程序中创建用户界面所遇到的挑战。
一直以来,Windows应用程序用户界面的功能都是以不同方式提供的。例如,开发人员使用WinForms创建Windows GUI,使用HTML、Java小程序或JavaScript代码创建运行在浏览器中的Web页面。很明显,开发人员面临着巨大的挑战:为实现不同类型的应用程序,开发人员必须学习多种开发技术和方法。如果能够有一种技术,可以实现为不同的客户端创建一致的用户界面,将是非常理想的方案。
     WPF就是为解决这一难题而设计。简单而言,可以总结为以下三点:(1)WPF为所有的这些用户界面提供一致的技术基础,从而大幅简化开发人员的工作。(2)WPF采用更为先进的方法,支持视频、动画、二维或三维图形以及各种类型的文档,从而可以让用户以全新的方式处理信息。(3)WPF还为桌面客户端和浏览器客户端提供了通用基础,这大大简化了二者的应用程序开发工作。
     总而言之,通过WPF,.NET Framework 3.0提供了一种比较完整和一致的解决方案,以用于应对用户界面方面的难题。最终的目标是使构建用户界面的相关人员(包括开发人员和设计人员)能够更加有效的工作。
     在了解了WPF的出处和形成原因之后,下面让我们真正认识一下什么是WPF,以及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数据绑定还允许在显示数据前对其进行排序和筛选。


转载于:https://www.cnblogs.com/yuwojiusi/archive/2009/08/19/1549981.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值