使用WPF的跨平台应用程序

时间:2009-08-04 21:48:29

标签: c# wpf mono cross-platform

我正在考虑用C#开发桌面应用程序。虽然windows将是我的主要目标,但稍后我将尝试在MacOS X和Linux中运行该应用程序。我今天能以简单的方式做到这一点吗? 我知道单声道项目,但我不清楚我能否以一种简单的方式做到这一点。

另外,WPF和Silverlight之间的关系是什么? AFAIK Silverlight遵循与Flash或Java非常相似的插件模型。我可以使用Silverlight开发我的桌面应用程序并将其部署在Windows,Linux和OS x上而不需要做太多更改吗?

任何指针都将非常感激。

4 个答案:

答案 0 :(得分:7)

Mono项目尚不支持.Net 3和WPF,可能还需要一段时间才能实现。

Silverlight可能足以满足您的需求。 从Silverlight 3.0开始,您可以在浏览器外部运行Silverlight,甚至可以在桌面上创建它的快捷方式。

答案 1 :(得分:2)

最后我听说,Mono项目没有计划实现WPF,但他们正在研究其他.NET 3.5功能,特别是LINQ和ASP.NET MVC。在Mono中实现WPF的问题(超出API的大小和复杂性)是在Windows上它使用DirectX进行渲染,因此Mono的实现需要使用OpenGL。绝对不是一件小事。

答案 2 :(得分:1)

WPF用于为仅限Windows 构建桌面应用程序。目前不支持其他平台。如果必须支持跨平台支持,则可以创建基于浏览器的应用程序并使用Silverlight。但Silverlight会在浏览器中运行应用程序,因此您无法使用它来创建“桌面”应用程序。

答案 3 :(得分:1)

Mono正在努力确保Silverlight运行跨平台(如其中一个堆栈溢出播客所述)。所以这似乎是一个很好的方式。