工作需要,开始了解WPF。作为.net 3.0开始退出的量大重要技术之一,WPF的确是划时代的。

 

简单列举以下几点:

 

1、终于能够使用显卡的硬件加速功能了

 

    WPF这个框架终于能够使用显卡的硬件加速功能来渲染界面了,使用Direct X!这是用GDI的时候无法想象的,除非是自己调DX。随着微软将WPF装进了Vista与Win7,并使用WPF来制作WIndows的界面,WPF会逐渐普及起来的。

 

2、界面元素的嵌套

 

   举个例子,WPF里没有提供图片按钮这个控件,要自己做一个。天啦,WPF这个功能都没提供?很多人都要开始埋怨了,其实,WPF提供了一种更为灵活的方式:在按钮内部放一个图片呗,图片按钮就有了,就像HTML中,图片连接的做法一样。WPF的XAML中很多地方借鉴了这样的设计。

   

    再举一个例子,我要做一个带水晶效果的图片按钮,怎么做呢?GDI中只能贴图了。HTML中也要做一个水晶效果的图片背景。WPF里呢?重新写下按钮的控件模板,拉个渐变,然后上面再画一层高亮的渐变,水晶效果就有了,不需要贴图。

 

3、数据绑定

 

     WPF里的数据绑定机制,真是让人又爱又恨。而MVVM模式的诞生,让数据绑定发挥到了极致。数据绑定,让我们能够完全抛弃以前的使用代码往控件上写数据的方法,还有控件数据到内存数据的方法。所有的业务逻辑修改内存数据,界面绑定在这些数据上,能够自动的更新。当然格式不一样的话,用一个转换器就行了,让程序员更专注与后台业务逻辑的处理,并且为自动测试带来了便利。而PRISM为代表的MVVM模式,能够将界面与数据完全解耦,再使用Unity Block实现IoC,使得框架与各模块之间都解耦,使得隔离的独立开发成为可能。

 

4、风格控制更加灵活

 

    在做窗体界面时,自定义风格其实是意见很困难的事情。在WPF中,一切变得简单,就如HTML中的CSS一般,定义好,然后在控件上引用即可,可以非常容易的保持界面风格的一致性,也更容易实现换肤。

 

WPF也有一些很炫的例子,比如说QQ的体验版就是WPF做的,是不是很炫?

 

WPF还有很多要学的,继续研究。出来好多年的记述了,现在才开始学习,悔啊..