【发布时间】:2026-02-20 10:55:02
【问题描述】:
我正在考虑用 C# 开发一个桌面应用程序。虽然 windows 将是我的主要目标,但稍后我将尝试在 MacOS X 和 linux 中运行该应用程序。我今天可以以简单的方式做到这一点吗? 我知道单声道项目,但我不清楚我是否可以以简单的方式做到这一点。
另外,WPF 和 Silverlight 之间是什么关系? AFAIK Silverlight 遵循类似于 Flash 或 Java 的插件模型。我可以使用 Silverlight 开发我的桌面应用程序并将其部署在 windows、linux 和 os x 上而无需进行太多更改吗?
任何指针将不胜感激。
【问题讨论】:
-
Silverlight 实际上与 WPF 没有太多共同之处。 WPF 是一个用于构建桌面应用程序的框架,Silverlight 是一个浏览器插件,很像 Flash。 Silverlight 应用程序可以在 Windows 和 Mac OS X 上本地运行,也可以通过 Mono 的 Moonlight 项目在 Linux 上运行。
-
“Silverlight 实际上与 WPF 没有太多共同点”:我不会这么说……它们确实有很多共同点! XAML 语言、DependencyObject 模型、大多数控件……有一些 WPF 功能在 Silverlight 中不可用,还有一些 Silverlight 功能在 WPF 中不可用,但随着这两个产品的最新版本,差距越来越小
-
托马斯是对的。此外,Microsoft 明确的目标是融合 WPF/Silverlight 框架,以便及时实现它们几乎完全可互操作。
标签: c# wpf mono cross-platform