tags:

views:

206

answers:

3

Does Mono support XAML?

Specifically I'm thinking of switching to using XAML for new GUI work that I do but also I like to keep my personal projects compilable in Mono. Should I just stick with plain old System.Windows.Forms for now?

+1  A: 

No, WPF is not implemented on Mono.

Darin Dimitrov
+2  A: 

MONO support XAML as Moonlight . Not WPF

anishmarokey
+8  A: 

Mono supports XAML for Moonlight (the port of Silverlight), but does not, and does not plan to support WPF.

I feel that it's a good idea to keep your logic separate from your UI anyways - if you do that, you can always make sure the logic works correctly in Mono, and use WPF for your UI. If you ever decide you need to port and run on Mono, it would just be a matter of porting/implementing a UI that works with your application correctly.

Reed Copsey
Especially now with Silverlight 4 blurring the lines between RIA and desktop app even more they seem to solely jump onto Silverlight and ignore WPF completely.
Joey
Yes, although, at this point, Moonlight only supports SL 2 with some SL 3 features. I'm sure SL 4 will come, though, as that's a major goal of Mono...
Reed Copsey
That's good advice, but architectural issues remain. If he writes his logic for a WPF UI, he'll be putting that logic in viewmodels. But MVVM doesn't port well to platforms without strong data binding -- e.g. if he used WinForms for the Mono port, he'd probably need to rework to a MVP or MVC pattern. (Of course, the underlying business objects and logic would port; I'm talking only about the presentation logic.)
itowlson
@itowlson: True, but you can keep a lot of things separated, still. It's possible to do a layered approach, so your business logic is kept separate from the presentation logic in your ViewModel (almost like using a n-tiered data access with the "Model" in MVVM tying into your business layer).
Reed Copsey