Updated 2011/03/30: CTTDNUG presentation source code
Updated 2010/11/03: Presentation slides, demo project
This week, on Wednesday the 27th and Thursday the 28th of October, the TechDays Canada 2010 will take place in Toronto and I will be presenting a session on Wednesday the 27th at 2:20pm.
The talk is called “Some Behind-the-Scenes Details about WPF MVVM Frameworks” and is about the Model-View-ViewModel pattern implementation details. Here’s the abstract:
Currently MVVM is a pattern of choice among WPF community but as any pattern, it allows different interpretations and implementations. As a result, we have multiple MVVM frameworks and a variety of ways to solve the common pattern-related problems. Some of the frameworks are lightweight, some are heavy but usually every of them will miss at least one nice feature you want to have. This session proposes to explore different approaches used by the frameworks to perform the common tasks. If you want to have a MVVM foundation fully satisfy your project needs, this session can be a good start point for you. During the session, we will talk about different ways to bind the presentation layers, to discover ViewModels and make them blendable.
Below you can find a list of the described patterns with the names of the framework where they are used:
1. ViewModelLocator
MVVM Light Toolkit (Laurent Bugnion)
2. Attached Behaviors and MVVM
JulMar MVVM Helpers + Behaviors (Mark Smith)
3. Using attached properties for ViewModel instantiation
4. Conventional binding, handling View lifecycle events from ViewModel
Caliburn.Micro (Rob Eisenberg)
5. Handling dialogs as services
6. ViewModelBase optimizations
ViewModelSupport (Brian Genisio)
Additional Resources
- MVVM Frameworks Explorer - MVVM frameworks comparison (Silverlight app)
- List of basic instantiation approaches
- WPF Disciples - Group for all WPF lovers, to share knowledge on WPF
- Build Your Own MVVM Framework by Rob Eisenberg, MIX10 (video)