tags:

views:

142

answers:

5

I'm a newbie to WPF and I'm developing a brand new windows desktop application and I would like your opinion on what WPF framework I should use. I know this question has been asked before, but the last question was asked at least several months ago. A lot has changed since then.

Right now, I'm using MVVM Light which is more of a library than an actual framework, as the name suggests. I’m looking for something more comprehensive. I prefer a framework that I can use on future WPF projects. Consequently, it should be general purpose and productive.

Any insights or suggestions?

+1  A: 

It's definitely on the heavy weight end, and plenty of people will warn you about it, but you seem to be asking for CAG

http://compositewpf.codeplex.com/

It's a pattern that comes with a sample implementation that you can bend into your own. For example, it comes with Unity for IoC, but you should be able to put in another IoC container.

The download comes with a lot of samples for both Silverlight and WPF.

Tim Hoolihan
It's kind of hard figuring out what to ask for. This seems to be what I am asking for.
Joel Rodgers
CAG is great, but as Tim said, it's heavyweight. It might not be worth committing to unless you have a large application. If you have a smaller application, maybe try incorporating some of the libraries that CAG uses, like Unity or the Enterprise Library.
emddudley
+2  A: 

Your title is a bit confusing. WPF is just a graphics/UI layer. WVVM is a Model View ViewModel framework, for implementing a MVVM pattern using WPF ( or Silverlight ).

So, are you asking what design pattern you should use for your WPF application? ( As in MVC, MVVW, MVP, etc... ) Or are you asking which MVVM frameworks are compatible with WPF?

Ugh, acronym soup.

As to my answer, if you are new to WPF and want to learn WPF, I would start with no framework, you can always refactor later once you have a good solid grasp of the underlying technology.

Serapth
+2  A: 

If you are a newby I would suggest that you try to use PLAIN WPF first to get a feeling for it instead of right away extending WPF with other frameworks.

Foxfire
A: 

You might have a look at the WPF Application Framework (WAF). The sample applications show:

  • View composition

  • UI Workflow (Wizards)

  • Command binding / Shortcut Keys

  • MVVM pattern, Unit Testing

  • Validation

  • Entity Framework

  • Open/Save FileDialog

  • Print Preview / Print Dialog

  • Localization

jbe
+1  A: 

Caliburn (http://caliburn.codeplex.com/) handles a lot of shortcomings of the WPF inherent model (like writing a ton ot stupid routing code for events) and introduces MVVM ;) My bet ;)

TomTom