View and View Model separation package for UX quality design solutions with using IoC container.

MVVM pattern is widely used in developing of XAML-based GUI applications. Without using this pattern it is impossible to provide the quality UX design implementations. Quality of UX design directly depends on the techniques or features that used for implementing the MVVM pattern. The most important features are to solve the “clear” separation tasks between View (the XAML code coupled with its code-behind) and ViewModel.

Digital agencies are very often involved in providing the quality UX design solutions for application products. This process is based on separated development by two companies’ one application. Design agency develops View (XAML) part and Technology or Business Company concentrates on developing functional parts: View Model and Model.

Here we have got a task when two different languages XAML and C# contracted together delivered by different companies.

This project provides the transparent and professional package for developing quality UX design solutions. Without using these features or similar it is impossible to say that your XAML UX design has a quality.

Well known Binding markup extension can bind only two properties together. The source property can be located either in Resources or either in code-behind. These standard framework features don’t allow developers to separate View from View Model. The volume of code behind development decrease quality of GUI, increase complicity and cost of maintainability. Change in View can cause the dramatic change of the code behind layer.

For high quality UX implementation with XAML you need separate or by other words bind over the framework XAML with ICommand and RoutedEventHandler which are located in the View Model.


Package implements XAML mark-up extensions:

IocBinding - XAML mark-up extension  binds to IoC container elements.

BindEventHandlerIoc - XAML mark-up extension binds   RouteEventHandler or any xxxEventHandler to IoC container elements.

BindCommandIoc - XAML mark-up extension aggregates into a proxy class the ICommand interface with IoC container elements.


See for details “How to “ documentation


To install MVVM-WPF Markup Dependency Injection Binding Extensions., run the following command in the Package Manager Console

Binaries, ver. 1.3.1 release: PM> Install-Package WpfMvvmBindingIocExt

!!! Silverlight 5.0 supported since version 1.3.1. !!!


MVVM-WPF DI Mark-up Binding Extensions


Bind an event to RouteEventHandler by setting a method name:

<Button Content="Button Click Method"
Click="{mark:BindEventHandlerIoc ServiceType={x:Type vm:MainWindowVM},MethodName=ButtonClickMethod}"/>


Bind  XAML target  to element via DI container by ServiceType and/or ServiceKey:

<Label Content="{Binding ButtonClickMethodMsg,Source={mark:IocBinding ServiceType={x:Type vm:MainWindowVM }}}"/>


Bind an event to RouteEventHandler by setting a delegate type property name:

<Button Content="Button Click PropDel"
Click="{mark:BindEventHandlerIoc {x:Type vm:MainWindowVM},PropertyName=ButtonClickPropDelegate}"/>


Bind  IComannd interface via a proxy class with using DI container:

<Button Content="Button Cmd-ExCeCh"
Command="{mark:BindCommandIoc ServiceType={x:Type vm:MainWindowVM


Bind IComannd interface with using DI container:

<Button Content="Button Cmd-ExCeCh"
    Command="{Binding CommandProxy,Source={mark:IocBinding ServiceType={x:Type vm:MainWindowVM}}}"/>



Development Donations Click Here

In progress other project : MVVM-WPF Markup Binding  Extensions

Last edited Jul 8, 2013 at 7:35 AM by AlexPaskhin, version 27