I know asp.net and winform development. I'm not the type of developer who leaps into a new technology just because he is new. This should give me additional benefits, such as better performance.
For my team, WPF was much faster than WinForms for application development. We recently released a mid-sized app in 32 man-days. We had the advantage of an experienced WPF developer on the team and inexperienced guys who were eager to learn this technology. There was great morale and the performance was impressive.
WinForm is a mature proven technology and I like the fact that I can do everything in Visual Studio and several IDEs for WPF (VS and Blend family).
Do you consider yourself a hand-held encoder or drag-and-drop encoder? If you consider yourself a drag and drop tool, then the current cropping of WPF tools may not be suitable for you. Maybe wait for Visual Studio 2010? I work almost exclusively in XAML. Most WPFs will probably agree that this is the most efficient way to build WPF applications at this time. But then I also create my HTML manually, so it feels natural to me ...
What are the benefits of WPF over Winforms for clean business applications? I'm not interested in the extra eye candy, animation, gradients, image display effects, etc. that WPF provides.
I thought so, but recently I developed a business application with gradients, basic animations, and effects. These fancy features have been added to improve user experience. Why should business applications be Battleship Gray? Why should they be unusable? Of course, it is not the color, gradients, animations that make the business application usable, but using these effects can help the user, and this is what is important to me. I could do everything I did in a WPF application in WinForms - it would just take a lot more time.
Better richer data binding?
The databinding support is really awesome. This is my favorite feature on the platform. Check out this great Databinding cheat code .
Try to convince someone like me to switch.
I decided that I was not going to try to convince anyone else to switch to WPF. The developers I tried to โconvinceโ (all experienced Winforms developers) tended to struggle with the platform. They are not invested in technology. They do not "receive." I encourage people to test the technology to make sure that it is suitable for them as a developer. The learning curve is huge. If you learn from books, check out this SO post for some mini-reviews of WPF books. If you find out by videos, check out windowsclient.net WPF video . If you find out, for example, view this or this . Forget everything you know about WinForms. WPF really seems closer to ASP than WinForms. Create some sample applications. See if this works for you and your team.
As you are layered (asp.net/winform skills), you can see the advantage of skilling-up in WPF, as it is very closely related to Silverlight. Silverlight fills this gap between your rich client applications and web applications.
I personally think that WPF is the best client-side technology available for the .NET platform and, as a rule, avoids development in WinForms for future work. Ymmv
Good luck with your decision.