This project is read-only.
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 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 3, 2011 at 12:47 AM by rposener, version 19