   [.net] WPF tools.
  Is WPF the way to go for tools programming? Is it easier to develop? Can you share your experiences in case you have built an editor or generic tool? Thank you.   
  I don't have any extensive experience with WPF, but I've made a few small things with it, and I like it very much. Generally, I hate GUI programming and tend to keep it to a minimum, but using WPF I've actually been having fun creating GUIs, and what I've made by far surpasses anything I ever made using other libraries (but then again, my experience is limited to Win32, WinForms and Swing), and I needed a lot less time to implement it.Whether WPF is easier to program for is not an easy question to answer. While learning WPF, there's an initial phase where you're kind of lost (was the case for me anyway) and you need to get to know a few new concepts such as dependency properties, routed events, styles, control templates, etc. but once you know those, creating complex GUIs becomes far simpler than using other libraries. In other words, there's an "initial investment" needed to get over a certain threshold, but once you're past that, you're glad you did it.   ;  WinForms should still suffice for something really simple.  WPF is great for more complex GUIs where you're using animation, or video combined with images, or something like that.  It's also great because you can change the way controls look to the user, allowing you to create pretty much anything.There is definitely a learning curve with WPF, perhaps more so than WinForms, but once you start to get into it you start to understand how things work.   ;  I am using C# for some time now but I never used one of the GUI dev tool e.g. Visual Studio Winforms. I've programmed mainly console apps and also used it as a scripting lang embedded in other tools. Moreover, I have extensive experience using Flex. This will probably mean that WPF is better since from all the tutorials I have seen thus far resembles Flex syntax. However, I am also interested whether the industry is making a "switch" towards WPF as well for tools dev.   ;  Once you go WPF, you never go back!   ;  Consider this... Visual Studio 2010 is a WPF app.   ;  I want to build a simple tool based on MOGRE (http://www.ogre3d.org/wiki/index.php/MOGRE) the C# wrapper of OGRE3D.   ;  WPF has a very high learning curve. It's not "better than" Windows Forms by any stretch of the imagination, it's just different -- better at some things, but worse at others. This may lead it to be better than Windows Forms for certain simple tools or for tools processing a certain (lower) volume of data.Fundamentally I believe WPF is poorly designed -- the isolation between presentation and logic occurs in the 'wrong place' and the over-emphasis on building everything out of generalized base objects results in cumbersome higher level objects with less functionality than they should have, and subpar performance (due to frequent refreshes of the measure/arrange/layout phase and subsequent refiring of related events). You also generally need to adopt the MVVM paradigm to work with WPF cleanly, which really amounts to writing the same amount of code-behind boilerplate for your UI as you would in Windows Forms, it just looks a little different and is, in general, better isolated from your actual business logic.This based on my experience having used WPF for very large content production tools for an MMO; we've used WPF since it was available, essentially, and have never been able to really overcome some of the fundamental problems mentioned above, despite leveraging the additional knowledge we have gained over the years into heavy refactoring efforts. The scope of our needs is just too big for WPF to handle efficiently.We have recently returned to Windows Forms.In short, I would not recommend WPF for use in anything beyond simple examples (where it works extremely well) or perhaps if you already knew WPF well.   ;Quote:Original post by jpetrieWPF has a very high learning curve. It's not "better than" Windows Forms by any stretch of the imagination, it's just different -- better at some things, but worse at others. This may lead it to be better than Windows Forms for certain simple tools or for tools processing a certain (lower) volume of data.Fundamentally I believe WPF is poorly designed -- the isolation between presentation and logic occurs in the 'wrong place' and the over-emphasis on building everything out of generalized base objects results in cumbersome higher level objects with less functionality than they should have, and subpar performance (due to frequent refreshes of the measure/arrange/layout phase and subsequent refiring of related events). You also generally need to adopt the MVVM paradigm to work with WPF cleanly, which really amounts to writing the same amount of code-behind boilerplate for your UI as you would in Windows Forms, it just looks a little different and is, in general, better isolated from your actual business logic.This based on my experience having used WPF for very large content production tools for an MMO; we've used WPF since it was available, essentially, and have never been able to really overcome some of the fundamental problems mentioned above, despite leveraging the additional knowledge we have gained over the years into heavy refactoring efforts. The scope of our needs is just too big for WPF to handle efficiently.We have recently returned to Windows Forms.In short, I would not recommend WPF for use in anything beyond simple examples (where it works extremely well) or perhaps if you already knew WPF well.Do you have any specific examples of those fundamenal problems? I would be happy to know that now as i'm about to rewrite a medium sized web application in WPF at work.   ;  Thank you all for all the help. I will try both and decide which fits my needs.   