I spent a couple of hours yesterday prototyping up a UI in GTK#. My real problems started once I started doing anything beyond 'the basics' - scary exceptions that were being thrown from the bowles of gtk itself. I gave it another whack today and stopped immediately because I just ran into an error where the application crashed when I unsubscribed from an event. Not so unexpected is the fact that everything works fine when running under Mono (in Windows). 'cept I don't want to use Mono on Windows.
So, today, I was toying with wx.NET. It seems promising, but there's a lot of rough edges. A lot. There are many, many fields that take integers instead of enums, and practically everything is undocumented. Its a bit unwieldly, like using MFC, but the API is simplier and does not require the herculean efforts of strength required to make simple stuff 'go.' Still, its unmaintained - they only update the library to keep it in sync with wxWidgets, and I hate programming against dead-end APIs. 'specially ones that are not particularily polished.
I'm not sure what to do now. The main reason for using GTK# was because, although its chock full of annoyances when dealing with simple stuff, it is powerful enough to let me do some pretty cool things with a little less effort than the equivilent using S.W.F. Same goes for wx.NET.
I'm not sure what I should do now; I obviously can't continue with GTK#, but I'm hesitant to pick wx.NET. I don't know of any other crossplatform .NET UIs, and using S.W.F would be a pain in the ass and require some P/Invoking, I think.
Should I take another look at booclipse and try to integrate some of my ideas into it? I hate Java.