Advanced Silverlight Applications using the Managed Extensibility Framework

This week I had the pleasure of attending my first CodeStock event in Knoxville, TN. Let me start by saying it was an amazing event. I give many thanks to the attendees, for keeping it a strong and thriving community, the sponsors (including my company, Wintellect), the speakers, and of course the organizers. You can…

Coroutines for Asynchronous Sequential Workflows using Reactive Extensions (Rx)

I’ve been doing quite a bit with Reactive Extensions (Rx) for Silverlight lately. One idea that I keep exploring is the concept of creative intuitive sequential workflows for asynchronous operations. You can read about my explorations using Wintellect’s own Power Threading Library in this post along with a simple solution using an interface and enumerators…

Fundamentals of the Managed Extensibility Framework

I’ve been building enterprise applications for more than a decade now, and have specialized in Silverlight line of business applications for the past several years. The term “enterprise” seems to inspire images of complex, large, difficult-to-maintain software systems but a well-written system doesn’t have to suffer from the extra complexity. One question I receive over…

Video: Getting Started with Jounce MVVM and MEF for Silverlight 5

I created a quick video to help you get started with using Jounce. The video starts with a blank slate, steps through installation of Jounce and the creation of a sample view model for a simple contact record that includes validation. You can access the video directly at http://vimeo.com/jeremylikness/jounce-getting-started, or view it below: Jounce: Getting…

Jounce 2.0 MVVM with MEF for Silverlight 5 Released

I’m pleased to announce the official release of Jounce 2.0 for Silverlight 5. There are quite a number of new features available that I’ll review in this post. Most significantly, of course, the code base has been updated specifically to target Silverlight 5. A number of bug fixes, feature requests, and Silverlight 5 features have…

Creating a Markup Extension for MEF with Silverlight 5

One exciting new feature of Silverlight 5 is the ability to create custom markup extensions. Markup extensions are a part of XAML. Whenever you see a notation that starts and ends with a brace, you are viewing a markup extension. Markup extensions exist to pass information to properties in the XAML that the XAML parser…

Announcing Jounce 1.0 RTM – It’s here!

Jounce is the result of building composite Silverlight enterprise applications for a variety of verticals since Silverlight 3.0 and finding the common problems that needed to be solved. I found many frameworks to be too heavy for the task and always wondered why more did not tap into the native advantages that the Managed Extensibility…

Jounce Part 14: Using MEF for Non-Shared Views and View Models

Even if you don’t use Jounce, this post will help you better understand how to create non-shared views and view models with the Managed Extensibility Framework (MEF). The architecture I prefer in Silverlight is to keep a shared view and view model where possible. If only one instance of the view is visible at a…

Jounce Part 11: Debugging MEF

The Jounce framework specifically relies on the Managed Extensibility Framework to help solve MVVM concerns. I recently presented an introduction to MEF and explained what I believe are the four core problems it solves: Discovery — it’s good to decouple, but at some point you need to provide an implementation, and MEF does a great…

Jounce Part 9: Static and Dynamic Module Management

One popular feature in the widely used Prism Framework is the concept of “modules.” A prism module is a functional unit that represents a set of related concerns. These concerns can be coded and tested independently and then composed into larger applications. They can also handle dependencies with other modules and be discovered and dynamically…

Silverlight Data Template Selector using Managed Extensibility Framework

Sometimes it makes sense to have multiple types of views contained within a list or region. In WPF, a data template selector can help determine which template is used based on the data template, allowing a container to mix different types. It’s not so straightforward with Silverlight because the DataTemplateSelector class does not exist. There…

Jounce Part 5: Navigation Framework

One common request I get is how Jounce can work with the Navigation Framework. My first reply is always, “Why do you want to use that?” As you can see in previous posts, the Jounce navigation works perfectly fine with region management to manage your needs. If you want the user to be able to…