工作需要,开始了解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还有很多要学的,继续研究。出来好多年的记述了,现在才开始学习,悔啊..