Jeremy Alles's MVVM Toolkits Listing

Jan 29, 2011 at 9:29 PM
Edited Jan 29, 2011 at 9:33 PM

I'm pleased to announce that Simple MVVM Toolkit has made it on to Jeremy Alles's MVVM Toolkits Listing:

As of this date there are 10 toolkits that target Silverlight.  The most feature-rich toolkit is probably Caliburn by Rob Eisenberg, and Laruent Bugnion's MVVM Light Toolkit is very popular.  The features and download counts are static and were updated this this month (Jan 2011), so they are apt to get out of date.  Best to check back here for updates on new features, documentation, samples.

The Simple MVVM Toolkit presently includes the following features:

  • Helper classes, Visual Studio templatescode snippets
  • Sample applications with step-by-step instructions
  • Model and ViewModel base classes
  • Strongly typed data binding with lambda expressions
  • View-model locator service
  • DelegateCommand based on ICommand
  • AssociateProperties method to link view-model and model properties
  • Event-based facility for two-way communication between views and view-models (useful for getting user input via modal dialogs)
  • IEditableDataObject support with deep cloning
  • Conversion of enums to lists for populating combo boxes
  • Async support with transparent marshaling to the UI thread

I am planning to add support for MEF and dependency injection, navigation, an event mediator / aggregator (aka message bus), as well as WCF RIA Services.

I've also spent time fleshing out the documentation and explaining various aspects of the toolkit on my blog:

Jan 10, 2012 at 10:02 PM

Hi Tony,

Do you have an example of using the mentioned "Event-based facility for two-way communication between views and view-models"?

Also, you mentioned about the plan to support event mediator/aggregator. Do you mind share with me the status? Thanks.



Jan 10, 2012 at 11:55 PM

Hi Tony,

Please don't worry about my previous comment. I've found another discussion here that answers my question. Thanks anyway!


Jan 11, 2012 at 3:48 PM

Yes, this discussion was before version 2.1 of the toolkit, which has those features.