另一个wpf

来源:互联网 发布:手机淘宝怎么分类宝贝 编辑:程序博客网 时间:2024/05/19 16:27

    前段时间,用Sliverlight开发了一些应用,我越来越觉得,微软关于“Sliverlight是Wpf的一个子集的说法”不那么正确,或者说, 事实并不象微软说的那样。实际工作中,我用Wpf的机会要更多一些,因为公司的项目都是用Wpf加C++库完成的,前段时间SL开发中,我将它与Wpf做了些比较:

    首先,运行库不同,Wpf依赖于200多M的.net3.x,而sliverlight依赖一个5M左右的自带运行库,而这个自带库,负责.xbap动态编译、执行、图像渲染整个过程, 实际上就是一个精简的.net3.x。

    其次,SL提供了Wpf中的部分控件,作为子集,这是可以理解的,毕竟作为浏览器程序,绝不能象桌面程序那么臃肿,但令人费解的是,SL提供的同名控件具备了与Wpf控件不一样的特性,比如,PasswordBox的Password的属性在SL中居然可以数据绑定,MediaElement的Position属性也可以绑定,DataGrid在SL中是标准控件, wpf居然要安装了WpfToolKit才能使用,并且,2个控件呈现效果并不一样,代码操作也不完全相同,DataPager在SL中可以随心所欲的使用, Wpf根本就没有,这还是子集吗? 如果说,出于安全的考虑,wpf放弃了PasswordBox.Password的数据绑定,那又是什么原因,在SL加上了这个数据绑定? 难道说wpf4.0,将于SL的特性一致?

   总结:种种差别, 可以看出,SL是另一个Wpf,而不是所谓的wpf子集,你熟悉Wpf,这对SL开发有帮助,但不意味你会一帆风顺,迄今为止,出现了3个不同版本的wpf,  wpf(.net3.x), wpf(Sliverlight), wpf(.netmf), :)

原创粉丝点击