2009-02-16 8 views
1

Je souhaite que mon programme s'exécute sous Linux mais je ne sais pas quoi faire de l'interface utilisateur. En ce moment j'utilise WPF mais il ne sera probablement pas supporté par Mono trop tôt. Les contrôles d'interface utilisateur sont édités directement par le code non-UI.Interface utilisateur pour multiplateforme .net Application

Passer à Windows Forms serait plus simple, mais je pense que ça ne semble pas très bien sur Linux. Ce dont je rêve en ce moment, c'est d'avoir une sorte d'interface utilisateur abstraite qui fournit les contrôles standard (avec les membres standard) et garde le code non-interface utilisateur du reste. Donc, je devrais traduire les changements dans l'interface utilisateur abstraite à l'interface utilisateur concrète. Ce serait beaucoup de travail mais le code serait hautement réutilisable.

Que feriez-vous et que pensez-vous de la dernière idée?

(Il serait bon si elle ne nécessiterait pas quelque chose de nouveau pour être installé sur Windows.)

Répondre

0

J'utilise maintenant des classes Wrapper qui implémentent des interfaces comme IButton.

Si cela fonctionne sur le long terme, je téléchargerai le code quelque part.

0

Une simple suggestion pourrait être GTK#

+0

Je préférerais qu'il fonctionne sous Windows sans avoir à installer autre chose. – weiqure

0

J'ai toujours utilisé Gtk #, mais il est vraiment moche dans les applications Windows, vous pouvez utiliser Windows Forms 2.0 dans la dernière version de Mono. Ou vous pouvez même utiliser Qt de Trolltech 4 avec .net en utilisant ce http://code.google.com/p/qt4dotnet/

1

Je n'ai pas travaillé avec moi-même, mais vous pouvez jeter un oeil à wx.NET qui est un wrapper .net pour wxWidget (je l'ai utilisé ce dernier pour conception de l'interface utilisateur multi-plateforme et les aimait bien :-).

0

Vous recherchez peut-être quelque chose comme Eto.Forms, qui est une bibliothèque .NET qui vous permet d'écrire une seule interface utilisateur commune, qui est ensuite traduite dans la boîte à outils native à l'aide de WinForms, GTK # ou MonoMac/Cocoa. L'avantage de l'utilisation de cette approche est que votre application sera native sur chaque plate-forme.

Il existe également des ports WPF et iOS, que vous pourrez utiliser lorsqu'ils seront prêts.

+0

WPF est maintenant entièrement implémenté! – Curtis

Questions connexes