The download simply consists of a zip file, which contains the following folder structure:
- Template Files
NOTE: Before extracting the contents of the zip file, be sure to unblock the file (right-click, properties, unblock).
In Toolkit\Helpers you'll find a Project folder with the source code and a Binaries folder with the toolkit assemblies. You can either reference SimpleMvvmToolkit.dll in Binaries\Release, or you can add SimpleMvvmToolkit.csproj to your Visual Studio solution and add a project reference to it. There are four main helper classes: ModelExtensions, NotificationEventArgs, ViewModelBase, ViewModelDetailBase.
In the Toolkit\Templates folder you'll find three Visual Studio item templates: SimpleMvvmViewModel.zip, SimpleMvvmViewModelDetail.zip and SimpleMvvmViewModelLocator.zip. Go to your Silverlight item templates location (usually Documents\Visual Studio 2010\Templates\ItemTemplates\Silverlight), create an Mvvm folder and copy these two zip files there. Use the SimpleMvvmViewModel template when adding a new list-based view-model, and SimpleMvvmViewModelDetail to add a detail-based view-model. Use SimpleMvvmViewModelLocator to add a view-model locator.
In the Toolkit\Snippets folder you'll find two code snippets: mvvmprop.snippet and mvvmlocatormethod.snippet. Use mvvmprop to insert a property that includes a call to the protected NotifyPropertyChanged method in ViewModelBase, which implements INotifyPropertyChanged for two-way data binding. Use mvvmlocatormethod in the ViewModelLocator class to add a method which creates a view-model and adds it to a dictionary in the locator class.
In the Sample\SimpleMvvm-Main\Part 1 folder you'll find a sample application with Before and After versions and detailed step-by-step instructions for using the Simple Mvvm Toolkit. It's easier to follow the directions if you go to Tools / Options / Environment / Task List and create a custom STEP token. Visual Studio will then display each STEP (non-alphabetically) in the Comments category. Just double click on a STEP to go to that line of code. These are synchronized with each STEP in the ReadMe.txt and Code.txt files.
The Sample\SimpleMvvm-Other folder contains a SimpleMvvm-Async sample that shows how to use a Notify method that can be called from a worker thread so that the view can display a dialog on the UI thread.