In this blog post I will cover some of the new features that are coming to the MVC4WPF and the new MVC4SL automated patterns.
MVC4SL Version 0.9
Soon the MVC4 Team will be releasing a ported version of the MVC4WPF over to Silverlight. The initial version of the pattern is targeted to version 4.0 of the Silverlight environment. With the creation of MVC4SL we are making some conceptual changes that will be incorporated into the MVC4WPF project during the 1.0 release of that product.
Common Functionality between MVC4WPF and MVC4SL
Both automated patterns are maintained in tandem to each other. The following is the breakdown of functionality that will be in the next release of both products.
Changes to the Property Bag
The property bag is now split into three distinct objects. Each object’s goal is to provide clarity for who owns the property data.
- View Data - (View’s Property Bag)
The View Data class will maintain the same features that already exists in the property bag. The goal of this change is to provide consistence and clarity for Controller developers to understand that the property bag belonged to a view at a moments glance. This also provides sorting capability for automation to only display property bags that are related strictly to a view.
- Controller Data - (Child Controller’s Property Bag)
The Controller Data class also implements the property bag features. The data objects placed in this class will be made available to parent controllers for consumption.
- Model Data – (Model’s Property Bag)
The Mode Data class like the other layers also implements a property bag option. Like the other two data class types, this provides additional filtering when creating model contracts.
Native Integration into Visual Studio 2010
Both the MVC4SL and MVC4WPF patterns are being built as native visual studio services starting with the Visual Studio 2010 release. This integration is designed to reduce complexity around the usage of the automated patterns and to provide developers with a native look and feel with visual studio. The following graphics demonstrate examples of how we are integrating into the 2010 environment.
- Adding a view to a MVC4SL Project
In the below figure you can see we have right clicked from a visual studio project named MVC4SLTesting. From the add section of the context menu I have selected Add View. In the context menu we have now added all the relevant options for creating a view, its contract and the view data class that may be used with a view.
Figure 1

- Adding a controller to a MVC4SL Project
This next example shows the options for creating a controller in the same fashion as we created a view above. Like the views options we have logically grouped the different controller types, contracts, and the controller data class. This group provides developers with one-stop shopping for controller functionality.
Figure 2

Other Features
Next week I will cover other features that are going to be in the 1.0 release specifically for MVC4WPF. We will explore what's coming and the goals of the new features.
2ceef5f9-30d7-44f4-8c1c-197fd13b790a|1|5.0