Silverlight 和 WPF 可以互换吗?
我的意思是,对于 Windows 应用程序使用
Silverlight
,对于 Web 应用程序使用 WPF
。
Silverlight 和 WPF 类似,但不可互换。
Silverlight 和 WPF 是两种不同的技术,旨在解决不同的问题。 Silverlight 具有浏览器外功能,但必须首先在浏览器中通过 Web 进行交付。 WPF 有 XBAP,但它仍然是一个 WPF 应用程序。它们都是基于 XAML 的,因此共享资源的能力有限。
如果您正在设计应用程序,请选择最适合问题和目标受众的技术。请记住,虽然 Silverlight 运行时安装量增长很快,但仍然远远落后于其他运行时。有些人断然拒绝安装它。 WPF 应用程序可以像具有可执行文件的桌面应用程序一样进行分发。
更新:根据我的经验,WPF XBAP 应用程序在非 IE 浏览器中表现不佳。
SL 4 可以在浏览器外模式下工作。 WPF 具有 XBAP(XAML 浏览器应用程序)。所以在某种程度上它们是,但请考虑您在项目中可能遇到的限制。
问候...
一些用户控件可以在两个平台之间重用。但由于 Silverlight 和 WPF 与其环境交互的方式截然不同(本地系统上的 WPF,浏览器插件沙箱中的 Silverlight),并非所有代码都可以完全互换。
理论上是可行的,但需要额外的努力来移植。每一种都最适合其环境。这是来自 MS 论坛的有趣讨论:
在大多数情况下,WPF 设计为在桌面和 Silverlight 上运行,并设计为作为网页的一部分运行。
您可以将 silverlight 应用程序部署到桌面并从那里运行它,但无法“在网络上”运行 WPF UI。