   [.net] Cross-platform .NET application
  Hi, I'm thinking of building a complex, editor that I want to be able to sell on both windows and mac (possibly add support for other platforms later). I want the editor to use XNA or perhaps SlimDX for rendering on windows, and something equivalent on any other platforms.I'm very familiar with C# and WinForms, but AFAIK there's no good way to get multiplatform apps through that port. If at all possible, I'd like to make the program in C# still (I much prefer working with it compared to e.g. java). Do you have any suggestions here? My best bet so far is Silverlight, but I don't know much about it else than it's something like Microsofts version of Flash.Any suggestions are welcome!   
  Starting with XNA and SlimDX for a cross-platform application feels like going backwards to me. You should start with a cross-platform technology (e.g. OpenGL) and then port to a platform-specific technology *if* necessary (e.g. D3D).You can use OpenGL on C# through OpenTK or you can use a cross-platform 3d engine such as Unity3d. Seriously, Unity rocks.As for cross-platform GUIs, four options I can see:- use whatever GUI system Unity3d provides. Not native but should work.- use something like GTK# to create a cross-platform GUI. Not native, ugly, but should also work.- create a custom GUI for each platform (e.g. WinForms for Windows, Cocoa# for Mac OS X). Native, professional but more work.- Use Silverlight on the desktop. Not native but should work as long as you don't need 3d.   