Read on a forum: only problems with WPF…

A couple of days ago, I found a post on a WPF forum with the title “Only problems with WPF…”, and it basically looks like the following:

“When I installed VS.net express 2008, I was happy because I thought that with WPF I’ll be able to build nice UI. Unfortunately, I have the felling this is more like a source of problems… I spent several hours to fill a ListView with some data and the result is dirtier than with WinForms. The designer in VS.net sucks and  many controls are missing. It was so simple before…”

I wanted to give my point of view about that kind of reasoning because a couple of months ago, I think I had more or less the same… So, what makes WPF so different ? Or why I cannot just use my WinForms background and start to build wonderfull apps ?

I think that WPF is more than just a new framework or new classes. It is more than that because when you work with WPF, you have to change the way you think and design your apps.

  • You have to change the way your work with controls because you can apply new Style and Template to them so that you can completely change the way they look
  • You have to change the way you design your apps because of DataBinding and Commands
  • You have to… forget almost every things you already know, and be ready to learn again !

If I can give an advice, I would suggest to read a good WPF book. A couple of weeks ago, I finished to read WPF unleashed, by Adam Nathan [1. available at amazon.com], and I really think that having this kind of the book is the right way start working with WPF. A lot of cool website are also full of interesting resources, CodeProject is maybe the one that I like the most.

To conlude, I would like to give a quick example [2. I was inspired by CT06: Applications = Designers + Developpers at Mix08 available here].

Imagine you’d like to build an application to browse a catalog of products. For each product, you need to see the name of the product, its designer, a description and an image. You also would like to have navigation build around the use of 2 arrows to browse products:

Building a WPF application

How could you achieve this ? You might think about several ways to do it. The point is that you can do this by only using a ListBox and changing its style ! Isn’t amazing ? Go ahead and check the full video at http://sessions.visitmix.com/.

2 thoughts on “Read on a forum: only problems with WPF…

  1. Hi Jeremy,

    There is a lot of skepticism about WPF. Some people have gone to the extent of declaring it not ready to build line of business applications.

    After watching Billy Hollis demonstrating a really nice and very well-designed WPF application [See Dot Net Rocks TV Episode 115 – http://www.dnrtv.com/default.aspx?showNum=115, the first 25 minutes of the video is enough], I started working on a music catalog application in WPF. Much of it was inspired by what Billy said in the presentation.

    What you write above is perfectly valid and to the point. WPF gives designers and developers a whole new way to design and develop really neat, effective user interfaces. It is different way of thinking. I have come from VC++/MFC days, through ASP.NET 1.1/Winforms, then ASP.NET 2.0/Winforms again, and, landed straight to WPF!! So, I can appreciate the whole idea of separating the presentation from the code-behind.

    My two cents.

    Cheers,
    indyfromoz

  2. Thank you for feeback, I appreciate 🙂

    IMHO, WPF can already be used for LOB applications, but of course, as it is very new environment, there are still some missing features (datagrid, common control such as a date picker…). Karl Shifflett did a great work on building a LOB application to demonstrate how we can leverage the power of WPF for that kind of application. You can find the blog post here: http://karlshifflett.wordpress.com/2008/05/16/wpf-multi-tier-business-application-track-code-camp-source-code/

Leave a Reply

Your email address will not be published. Required fields are marked *