There are many popular open source MVVM frameworks.
Probably the three most popular: MVVM Light , Caliburn or Prism (which, since v4, supports and provides MVVM examples). All three have strengths and weaknesses, and they are all good.
Prism has the advantage of being a "Microsoft" (sponsored) product, as it is represented by the Microsoft Patterns and Practices group. This tends to facilitate adoption at many large enterprises. This, as they say, is also much more and more complicated than other popular options, especially since its purpose is not just the "MVVM Framework", but rather a general-purpose library for developing complex applications.
I am starting to work with WPF.
I also thought that I want to mention - before you choose a framework, I will spend some time really learning and understanding MVVM. I wrote a series to help migrate to WPF with MVVM from Windows Forms , which may make a difference.
It is often difficult to choose a framework until you understand what it really does. Most MVVMs can be done very easily, without any frameworks. Utilities are added to the frameworks that make it easier to manage certain pain points of MVVM development, for example, MVVM Light has an excellent Messenger class that helps in exchanging data between ViewModels, which can be complicated at times. Caliburn has great tools for convenience, etc. However, until you understand the basics, choosing a toolbox can make your life more complicated, rather than simple.
Reed Copsey Feb 21 '11 at 18:43 2011-02-21 18:43
source share