WinRT MVVM Framework


WinRT is a great platform for touch based applications. As XAML is the go-to description language for User Interfaces in C# and C++ applications, DataBinding is supported as an elegant means to connect your WinRT app’s UI to backing data.

DataBinding was one of the key features of WPF which led to the birth of the Model View ViewModel (MVVM) pattern. The MVVM architecture is a great way to decouple your business logic and application data from the User Interface.

I am a big fan of this pattern and want to leverage it in my C# WinRT applications. Unfortunately, the way the WinRT API is designed rather encourages a “code-behind” approach which forces you to tightly couple your Views and ViewModels.

As a consequence, the developed MVVM framework fills the WinRT API’s Gaps and allows you to interact with Windows 8’s new features solely from within your ViewModels.

In particular, the framework offers the following feature set: