WPF和Silverlight的关系

    由于名称的关系,WPFWPF/E一直被认为是类似的东西.其实两者除了呈现UI的部分使用的是共同语言XAML之外,两者在本质上有很大的不同. 甚至,XAMLWPFSilverlight有不同的意义,也不能算是两者间"共同的语言".
    XAML
WPF来说,是一种把.NET程序语言改用XML来描述的方式.
换句话说,XAML用在WPF,像是另外一种程序语言.C#,VB,IronPython相似.所以XAML能做的,C#,VB一样都可以做到. 但是反过来,VB 能做的,XAML不一定能做到,因为XAML是为了配合开发工具,特别设计出来的一种语言,本身有它的局限性,所以还是得配合正规的程序语言,才能完成一个真正有用的程序. 但是以目前XAML所具备的能力,不靠C#,VB而做到平常简单Flash可以做到的,应该是没啥问题.因此,Application = Code + Markup的作者Petzold才会把这本书的结构写成先用以C#来写WPF程序,后半部才介绍XAML. 避免大家误解 WPF = XAML. XAML还可以用在WF,所以并不局限于WPF. 如果用了XAML,以为这就是WPF的全部,就大错特错啰然而,XAMLSilverlight来说,本质比较贴近SVG. XAML用来描述构成画面的结构树,然后配合Javascript去操作这颗表示UI的树,以达到互动的效果. 所以对Silverlight来说,XAML像是用来扩充HTML/CSS原本不足的一组Tag. 就像Firefox之中,一样可以用Javascript去操作SVG所描述的画面,达到表现多媒体的效果.

相关文章

如何在Silverlight4(XAML)中绑定IsEnabled属性?我试过简单的...
我正在编写我的第一个vb.net应用程序(但我也会在这里标记c#,...
ProcessFile()是在UIThread上运行还是在单独的线程上运行.如...
我从同行那里听说,对sharepoint的了解对职业生涯有益.我们不...
我正在尝试保存一个类我的类对象的集合.我收到一个错误说明:...
我需要根据Silverlight中的某些配置值设置给定控件的Style.我...