关于WPF和Windows Form的区别理解(一)

来源:互联网 发布:数学必修三算法初步 编辑:程序博客网 时间:2024/06/15 19:37

最近项目要上线,处于紧张的测试中,一整天都在盯着电脑屏幕上那些晃动的波形做测试,excel中记满了密密麻麻的测试数据,看得眼睛都疼了。把眼睛从电脑屏幕上移开,实在是看不下去了。可上班时间,又不能无所事事,所以一边让电脑中的测试程序运行着,自己则拿起桌上的《深入浅出WPF》看起来。看书应该比看电脑会让眼睛舒服点吧。

因为最近做了比较多的自定义控件,对控件比较感兴趣,相对其有深入的了解,所以就直接翻到深入浅出话模板一章。其实我是从去年下半年因为项目需要才开始接触WPF,只是用到时才查一下资料或者看一下别人写的Demo,并没有过系统的学习,因此对其中很多的概念方法都不甚了解。除了WPF界面效果看起来更炫些外,我也也不是很清楚WPF和Winform真正的区别在哪。不过这种书中似乎将这一点讲得很透彻,仅是我看的这一章,讲得WPF和Winform控件的区别,我觉得其精髓便在于数据算法与控件形式的耦合性的区别。Winform的控件内部逻辑和数据结构都是封装好的,其外形也只开放出部分属性供程序员来修改,想要扩展控件功能或部分外观,必须重新创建控件的子类或创建用户控件,其耦合性很强。而WPF则可以通过Templete来解决该问题,降低了数据算法与控件展现形式的耦合。WPF的Templete可以分为两部分,一部分是ControlTemplete,用来修改控件外观及操作逻辑,一部分是DataTemplete,用来修改数据的表现形式。比如说修改ControlTempl,可以讲一个ProgressBar变成温度计的式样;而修改DataTemplete,则可以让原本是文字表示的数据变为以图片动画表示。

当然,WPF和Winform的差别还有很多,目前我所掌握的不过是将书中的思想搬到这里而已,相信在以后的学习与应用中,自己将会有更深入的理解,届时再与大家分享。


0 0