Blendability Part IV – Design Time Support for MEF

Wednesday, February 9, 2011

In my previous post I've discussed the usage of MEF with the famous MVVM pattern, and demonstrated the usage of my Import markup-extension, and how it can replace the View Model Locator with an elegant syntax. In this post I would like to reveal and discuss the implementation of the Import markup-extension. Let's begin with a short story. Say that you're building an application for controlling a robot. The robot lives happily in a 2D surface, and can be move freely in between the surface's walls. To visualize both the robot and the surface parts you've created two parts: A Robot...

Blendability Part III – View Model Locator Replacement using MEF

Wednesday, January 19, 2011

Everybody loves MEF! Don't you? I think MEF is one of the best things happened to the latest .NET Framework 4. Just in case that you don't know what I'm talking about, I urge you to start reading about MEF in my colleague, Bnaya Eshet, blog. He has great MEF tutorial for beginners. So why am I writing about MEF in this WPF related post anyway? Well MEF is a great framework for extensibility and object composition, also it can be used as a DI container, declaratively and imperatively. With my experience in architecting several WPF...

Blendability Part II – Design time support for Prism

Monday, January 3, 2011

In my previous post I’ve presented the Blendability concept and explained how to leverage Blend’s sample-data generation in order to support view-model at design time. In this post I would like to continue with this concept and reveal a tiny research I’ve done related to design time support of Prism modules. If you’ve ever developed a WPF Composite Application using Prism you may be aware of a frustrating problem while trying to work with the Shell at design time. It always ends with something like this: As you can see, the Shell is always left blank, and there is no way to...

Blendability Part I – Design time ViewModel

Friday, December 17, 2010

In case that you haven't added the word ‘Blendability' to your XAML Jargon yet, I’m sure this post will inspire you doing so. The Blend-ability term describes how a piece of data model or view model is viewable or designable at design time, whether by Expression Blend or Visual Studio Designer. Building a Silverlight or WPF applications, everybody loves using the MVVM pattern. This pattern greatly decouples the view from its logic and domain model, hence enabling relatively easy unit testing and provide great flexibility. In most cases there should be no code behind XAML except for...