考虑到Silverlight是WPF的一个子集,因此存在许多潜在问题。首先,我想问一下为什么要这样做,因为它们通常用于不同的目的。尽管如此,如果您决定进行移植,则需要进行命名空间分析,以验证您在WPF应用程序中使用的所有命名空间是否存在于Silverlight运行时中。如果您使用了SL不支持的内容,则需要花费相当长的时间重新编写这些部分。我知道的其他问题是,Silverlight 3在沙箱中运行,因此您不能使用盘、盒子上的硬件等。您还受到网络请求方面的限制,因为它们必须返回到托管域,或使用跨域策略文件。Silverlight 4带来了更多的平等性,因为它允许您作为受信任的桌面应用程序运行,并带来了更多的WPF功能,但仍然不相等。这是一个比较困难的问题,没有进一步的细节很难回答,但这应该能帮助您入门。