Project Description
MVVM Super Easy toolkit simplifies and speeds up development tasks for Silverlight, RIA Services, and WP7 development.

The MVVMS toolkit project is intended to provide common, yet flexible plumbing to overcome common problems encountered or dealt with when constructing an application using Silverlight, RIA Services, and WP7 using a MVVM pattern. This includes ideas from many people who have posted solutions on the web. Take a look at the Credits page to find where the inspirations come from.

Version 3 Released + Now on NuGet

Here are the Details (also available from README.txt when installed with NuGet)

===============================================
MVVMS  - Getting Started
===============================================
 
ViewModel classes come standard with:
	- INotifyPropertyChanged
	- IsBusy Property
	- BusyMessage Property
 
Create ViewModel Classes in your project that inherit from:
	- MVVMS.ViewModel
	- MVVMS.RIAViewModel for RIA Services Projects
 
How to Consume your View Model
	- Add ViewModel As Object DataSource in a Page or View's Resources
	- Set DataContext = Binding to that Static Resource
 
Standard ViewModel Class:
	- CallOnUI(Action action) - Run some Action on the UI Thread
	- CreateView(IEnumerable source) - (not in WP7) Creates ICollectionView using Factory
	- RaisePropertyChanged - Raised PropertyChanged Event
	- IsBusy and BusyMessage are normal Properties
 
RIAViewModel Class: (includes all Standard Items +)
	- IsBusy Represents that an RIAServices Call is in action
	- BusyMessage represents the first RIAServices Call still in action
	- Use RegisterOperation(OperationBase Operation, string Message) for automatic-tracking
 
Add the MVVMS namespace to gain some new Extension Methods
Use the Extension Method for List<T> and ObservableCollection<T>
	- .UpdateContents(IEnumerable<T> source) - Updates contents only as necessary
	- ListUpdater.UpdateSource(IList<T> collection, IEnumerable source) - same only not extension method
 
===============================================
Notifications Class (not in WP7)
===============================================
 
Use the Notifications Static Class to create Event Wrappers
	- Maintains WeakReferences so that ViewModels can be GC'd independently
 
===============================================
WP7 Helpers
===============================================
 
MVVMS.Helpers class contains a couple of easy ready-to-go implementations
	- FileStorage class
		- void SavetoFile(XDocument doc, string filename) - Save an XDocument
		- XDocument LoadfromFile(string filename) - Read an XDocument
		- void SavetoFile(object dataObject, string filename) - Save [DataContract] class
		- T LoadfromFile<T>(string filename) - Load [DataContract] class
	- AppSettings (static class)
		- AppSettings.LoadSetting<T>(string name) - Load a Setting
		- AppSettings.LoadSetting<T>(string name, T default) - Load a Setting and specify a default if not set
		- AppSettings.SaveSetting<T>(string name, T value) - Save a Setting
 
 
===============================================
Snippets for MVVMS
===============================================
	- Extract Contents of MVVMSsnippets.zip to:
..\My Documents\Visual Studio 2010\Code Snippets\Visual C#\My Code Snippets\
 
 
===============================================
Standard Snippets for RIA Services
===============================================
 
Use the Snippets:
	- vmprop - Create a Standard Property
	- vmcmd - Create a Standard Command
	- vmcmdgeneric - Create a Standard Command that Accepts a Generic Parameter
	- vmcollectionview - Create an ICollectionView property
	- vmnotifications - (Not in WP7) Use for Inter-ViewModel Notification / Messaging
 
===============================================
Additional Snippets for RIA Services
===============================================
 
	- vmentitylist - Create an RIA Services Entity List
	- vmloaddata - Create method to load data

Last edited Sep 2, 2011 at 11:47 PM by rposener, version 19