WPF特色

前言为何要学习WPF呢?由于随着现阶段硬件技术的升级以及客户对体验的要求愈来愈高,传统的GDI和USERS(或者是GDI+、USERS)已经不能知足这个需求,所以,WPF技术应运而生。html


WPF的特色程序员

一、普遍整合: 在WPF出现以前,Windows开发人员若须要在普通的2D图形和控件以外再使用3D、视频、语音、富文档视图技术,就不得不学习一些独立技术,这些技术之间通常存在许多不一致,并且是在没有多少内建支持的状况下组合运用它们。而WPF经过统一的编程模型和紧密整合涵盖了全部这些部分,在紧密整合下,各类媒体类型都能组合起来并一块儿呈现。你能够在不一样媒体类型上应用一致的效果,你所学的某个领域中的许多技术能够应用在任何其余领域。编程

 

二、与分辨率无关: 基于矢量的图形界面,分辨率越高,图形显示越清晰,而不会像普通的图形那样产生锯齿状。浏览器

 

三、硬件加速: 虽然WPF是项新技术,可是它是基于Direct3D建立的。特别要注意的是,在WPF应用程序中不管是2D仍是3D的图形或者文字内容都会被转换为3D三角形、材质和其他Direct3D对象,并由硬件负责渲染。这意味着WPF应用程序与基于GDI的系统不一样,它们能够从硬件加速中得到好处,从而得到更平滑的图像和更好的性能。WPF并没必要需高端图形硬件,它也有本身的软件渲染管道。所以它不但可使用硬件尚不支持的特性,能够高保真地打印屏幕上的任何内容,并且当遇到硬件资源不足(例如只有一块较老的图形卡,甚至是有一块高端图形卡但却没有足够的GPU资源,如缺乏显存)时还能够做为备用。架构

 

四、声明式编程: WPF经过引入XAML(可扩展应用程序标记语言,Extensible ApplicationMarkup Language,读音为Zammel)将声明式编程带入下一个层次。WPF和XAML的组合十分相似于使用HTML定义一个用户界面,但却具备使人吃惊的表示能力。这种表示能力甚至超越了用户界面的范畴,WPF能够将XAML做为一种文档格式、一种3D模型表示,等等。框架

 

五、富创做和定制(Rich composition and customization): WPF控件具备你从没见过的创做能力。你能够将一些动画按钮放入一个ComboBox控件中,或者将一些视频剪辑放入一个菜单中!虽然这些特别的定制可能听起来十分恐怖,可是你不须要写多少代码(甚至不要任何代码),就能以用控件开发者们历来没有想到过的方式自定义控件(并不像之前控件技术中的自绘(owner-draw))。用一样的方法,WPF使建立彻底不一样外观的“皮肤”应用程序变得十分简单。工具

 

六、易于部署: WPF为(使用Windows Installer或ClickOnce)部署传统Windows应用程序或在Web浏览器中宿主应用程序提供了选择。WPF的一个新且有趣的方面是它构建在ClickOnce之上,为与Web浏览器及其导航系统的直接整合提供了支持。性能

     WPF虽然有上述那么多闪光点,可是性能问题以及特性集不完整,也是其比较重要的不足,虽然随着技术的发展,特性集一直在完善,可是性能问题倒是一个不可忽略的问题,可是因为现阶段硬件技术的飞速发展,相信不久的未来,这个也再也不是问题。学习

     WPF是跟随.NET FrameWork一块儿与用户见面的,是在原来的框架基础上面,新增长的组件,同时增长的组件还有WCF,WF和WCS。它主要有两个主题:针对托管代码从新设计以及强调过程式代码和声明式描述相结合。虽然WPF是针对托管代码而言的,可是,WPF确实有一些核心东西是由非托管代码实现的,甚至还提供了一些低层的非托管API来帮助你写本身的图形CODEC(编码解码器)或者位图特效。在.NET Framework的全部新增组件中,经常使用XAML和XML以透明的和声明式方式向外公开特性。在WPF中,XAML通常是用来表示用户界面的。在Windows Workflow Foundation(WF)中,程序也可使用XAML来表示与工做流相关的活动。在Windows Communication Foundation(WCF)中,程序会使用XML配置文件把架构协议与应用程序协议分离开来,还可使用XML消息和协定[简单对象访问协议(SimpleObject Access Protocol,SOAP)和Web服务描述语言(WebServices Description Language,WSDL)]与其余程序进行通讯。这一切都是为了让程序员与其余领域的专家一块儿工做起来更方便。XAML和XML将成为全部各方使用的通用语言(颇有可能经过开发工具和特定领域的设计工具)。对于WPF,“领域专家”是图形设计师,他们可以使用设计工具来建立灵活的用户界面,而程序员则能够独立地编写代码。可是程序员/设计师之因此能使用WPF进行合做,不只仅是由于有通用的XAML语言,还由于人们已努力使WPF API所提供的功能能够经过声明方式进行访问。这给予设计工具巨大的表现力,而不用费心生成过程式代码了。开发工具

     另外须要注意的是,WPF仅在Windows Vista及其之后的版本中,3D 对象有抗锯齿特性;仅在Windows Vista及其之后的版本中,非矩形或者透明窗口才支持硬件加速。固然,WPF控件有不一样的默认主题来匹配它们的宿主操做系统。

     在Windows XP系统中,运行多个WPF或DirectX应用程序可能会让系统出现停顿,这是因为驱动的问题,在Windows Vista及其之后的版本中,有一个新的驱动模型来解决资源争夺的问题。它会对GPU资源进行虚拟化和安排,当多个使用GPU的应用程序同时运行时,它可让你的系统运行得更顺畅。

     By:http://blog.sina.com.cn/s/blog_6d3615260100vqy1.html

相关文章
相关标签/搜索