I am looking to write a WPF app and am trying to pick a MVVM framework to handle some of the complexity. What would you recommend and where can I find a good tutorial/getting started guide for said framework?
I have had success with the Composite Application Guidance for WPF and Silverlight framework, also known as "Prism". It is available, as open-source, at http://compositewpf.codeplex.com/.
I learned the basics by following along to the information in four videos describing the construction of a Prism-based application:
Good luck!
There is also
- MVVM light toolkit for WPF and Silverlight by Laurent Bugnion
- WPF Model-View-ViewModel Toolkit - Microsoft's answer.
- Caliburn - Caliburn implements a variety of UI patterns for solving real-world problems. Patterns that are enabled by the framework include MVC, MVP, Presentation Model (MVVM), Commands and Application Controller.
- Silverlight.FX - Silverlight.FX is a light-weight application framework for building Rich Internet Applications with Silverlight 2.
Yet another framework with support for the Model-View-ViewModel (MVVM) pattern:
WPF Application Framework (WAF)
I needed Extensibility (the ability to write add-ins for my application) in addition to WPF/MVVM, so I pieced together my own framework and released it as open source:
- SoapBox Core (includes a demo application)
- Documentation and Tutorials
Have not used any of them personally, but there is a roundup of a few frameworks here:
http://www.japf.fr/2009/10/a-quick-tour-of-existing-mvvm-frameworks/
For WPF, my best bet is WPF MVVM Tookit at wpf.codeplex.com/wikipage?title=WPF%20Model-View-ViewModel%20Toolkit.
If you ever need one for Silverlight (which complies with the standards introduced in WPF MVVM such as the DelegateCommand and CommandReference), check out http://intersoftpt.wordpress.com/2010/04/24/clientui-part-3-comprehensive-mvvm-framework-for-silverlight-development/