多平台.net应用程序的UI

时间:2009-02-16 15:46:41

标签: user-interface multiplatform

我想让我的程序在Linux上运行,但我不知道如何处理UI。现在我正在使用WPF,但Mono可能不会很快支持它。 UI控件由非UI代码直接编辑。

切换到Windows窗体最简单,但我认为它在Linux上看起来不太好。

我现在梦想的是拥有一些提供标准控件(带有标准成员)的抽象UI,并使非UI代码远离其他部分。所以我必须将抽象UI中的更改转换为具体的UI。这将是很多工作,但代码将是高度可重用的。

你会做什么,你怎么看待最后的想法?

(如果不需要在Windows上安装任何新内容,那就太好了。)

5 个答案:

答案 0 :(得分:1)

我自己没有用过这个,但你可以看看wx.NET这是wxWidget的.net包装器(我使用后者进行跨平台的UI设计,而且相当喜欢他们: - )。

答案 1 :(得分:0)

一个简单的建议可能是GTK#

答案 2 :(得分:0)

我一直使用Gtk#,但在Windows应用程序中它实际上是 ugly ,你可以在Mono的最后一个版本中使用Windows Forms 2.0。或者你甚至可以使用这个http://code.google.com/p/qt4dotnet/

使用Trolltech的Qt 4和.net

答案 3 :(得分:0)

我现在使用Wrapper类来实现像IButton这样的接口。

如果它长期有效,我会在某处上传代码。

答案 4 :(得分:0)

您可能正在寻找类似Eto.Forms的东西,这是一个.NET库,允许您编写单个通用UI,然后使用WinForms,GTK#或MonoMac / Cocoa将其转换为本机工具包

使用此方法的好处是您的应用程序将在每个平台上看起来都是原生的。

还有WPF和iOS端口正在工作中,您可以在准备就绪时切换到它们。