其实,WPF和Silverlight的关系正如汇编语言和C语言。
汇编语言可能编译了无数的软件,可是很多都用于操作系统等基础性的东西。大部分已经不成为一个语言,而是执行某些具体的操作,得到某一种功能。而C语言虽然也来自于汇编语言,但却可以去编写更多的程序。
而Silverlight类似于此,它也是用C#语言编写的,而C#首先扩展了它的功能,它把较难于和其它3D等图形软件兼容的GDI+这种图像工具转化为各平台普遍接受的XML的近亲XAML. 这样在VS2008中,就可以直接使用WPF来设计平面、3D图形以及视频播放。
而Silverlight则是精心提炼出来了WPF中XAML后台C#的事件的各个功能,这种整合其实和C#超脱于C++有点像。所以Silverlight生成的XAML文件在WPF中并不能直接使用,而要使用C#编写相应的事件代码。其实大部分事件代码并不复杂。基本上来说设计人员只要使用Silverlight就可以了。而程序员最好还是使用WPF,这样易于裁剪。
自己的理解,请更高层次人士指点。