Project Description

MicroMVVM is a framework for WinRT XAML applications which leverages the Model View ViewModel architectural pattern by binding the View to the ViewModel at runtime.

MVVM

MicroMVVM fetches the exportable ViewModels found within an application and attaches each ViewModel to the corresponding View.

Inversion of Control

MicroMVVM leverages the Dependency Injection pattern, the framework fetches Transient and Singleton exportable services and injects these interfaces in the ViewModel's constructor.

Navigation

MicroMVVM.Navigation allows an easy way to navigate from one view to another from the ViewModels. Also provides the means to pass complex objects from one view to another.

Services

IConnectionService and ILayoutService are available in MicroMVVM.Services to notify the application when the internet connection has been lost and when the application layout has changed. IStorageFileService and IToastMessageService are available to access the files found in the roaming folder and to show toast messages.

Blendabililty

MicroMVVM offers the facility to include designtime data which can be viewed in Blend and Visual Studio.

Future Improvements

  • Replace the current implementation to fetch the exportable ViewModels and Services and leverage on MEF composition layer.
  • Add more generic services to MicroMVVM.Services.


The MicroMVVM framework has been inspired by the works of Marlon Grech on the MEFedMVVM framework. http://mefedmvvm.codeplex.com/

Disclaimer: MicroMVVM is an ongoing project, so feel free to provide feedback and report issues.

Last edited Apr 5, 2013 at 2:50 PM by jeremyellul, version 20