Jounce Part 15: Asynchronous Sequential Workflows

One common complexity developers face when writing Silverlight applications is the fact that most operations are forced to asynchronous. When using the Asynchronous Programming Model (APM) or an event-driven model, these operations force the developer to consider the “chain of events” and provide the right code to correctly manage the sequences. Microsoft will address the…

Silverlight 5 Beta Here, HTML 5, Sterling Feedback and More

I have a few things to cover on this post. I want to start with Silverlight 5 but stay tuned for some information about how you can learn more and ask direct questions about the Sterling database. Silverlight 5 Beta is Here The Silverlight Team just officially announced that the Silverlight 5 beta will be…

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…

Silverlight Scaling and Anti-Aliasing Issues

I recently had the opportunity to work on a rather nagging issue with a customer related to how Silverlight scales UI elements. The customer was kind enough to approve me posting the solution. The problem is with scaling UI elements on a canvas. The scenario is simple (and easy to reproduce). First, create a canvas…

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…

Clean Design-Time Friendly ViewModels: A Walkthrough

This is a quick walkthrough to demonstrate how to make what I call “clean” design-time view models. These are view models that provide design-time data for your application, but don’t embed that data in the final product. The release DLL and XAP files will only contain run-time support. First, fire up Visual Studio and create…

Jounce Part 13: Navigation Parameters

This was a busy morning for Jounce. I checked in some changesets that unfortunately break backwards compatibility but address a few highly requested changes. The first was CLS compliance, and that involved refactoring some weirdly named methods. The second was consistent namespaces (had view vs. views, etc.) so that was cleaned up. The final and…

Jounce Part 12: Providing History-Based Back Navigation

I purposefully kept the navigation engine in Jounce light because there are so many opinions about how navigation should work and what makes sense for a specific application. A foundation is provided to raise navigation events and wire view models to views, but the rest of navigation is a mix of region management and user…

A Numeric Input Control for Windows Phone 7

I’m exploring the phone more and more and came across the case of allowing the user to enter digits. One thing to keep in mind on the phone is that the form factor requires approaches to input that are different from the traditional desktop. A desktop application might handle numeric entry by simply filtering the…

Building a Windows Phone 7 Application with UltraLight.mvvm

I recently released a new open source project called simply UltraLight.mvvm. The purpose of this project is to make it easier to build MVVM-based applications that support tombstoning (a must) on Windows Phone 7. The DLL is 22KB and the source is less than 300 lines of code. With that, the framework supports: Commands Command…

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…

Codestock and Knoxville, Tennessee: Are You Coming in 2011?

Codestock is an amazing event that I first attended last year in Knoxville, Tennessee. It’s hosted at a great venue in a wonderful city and loaded with exciting sessions. I had just as much fun speaking at my session as I did attending the other sessions and learning about new technologies. I’ve submitted two talks…