A Silverlight MVVM Feed Reader from Scratch in 30 Minutes

I thought it might be useful for users (and potential users) of Jounce, MVVM, and Silverlight in general if I were to show the full process of building an application. When people ask me about how complicated MVVM is, I reply “it’s easy when you know it and use the right framework.” I hope this…

Lessons Learned in Personal Web Page Part 3: Custom Panel and Listbox

In the third part of this series I wanted to cover the “3D Panel” effect you can see on my Projects page. While there are some terrific third-party carousel controls, I wanted to see what it takes to build one from scratch using a custom panel and a Listbox control. The first step was to…

Lessons Learned in Personal Web Page Part 2: Enter the Matrix

This is the second part in the post of more “fun” effects and challenges I worked through in Silverlight when building my personal web page. One effect I really wanted to work out is the Matrix-style effect you can see on my blog page. After looking at the video I determined the main characters seemed…

Lessons Learned in Personal Web Page Part 1: Dynamic XAML

Recently I undertook the effort to rewrite my personal web page for a few reasons. I always like side projects for learning so I wanted to explore some “fun” ideas such as three dimensional objects and plasma (I blogged about those here) but also some more practical ideas like dynamic content and custom list boxes.…

Old School Silverlight Effects

This weekend I was working a little bit on my personal web site (rewriting it again, to use some better themes and my Jounce framework) and decided it would be fun to tinker with some old school effects. I decided to focus on two specific things: a transparent three-dimensional cube, and a plasma effect. You…

Quick Tip: Right-click VS 2010 Command and Admin Command Prompt

It seems that I’ve become very familiar with this command: xsd /c /l:cs schema.xml If you’re not familiar with it, this allows you to parse a schema into a strongly typed class, which then allows you to deserialize an XML document to that type. Pretty nifty, but it requires being in a “Visual Studio 2010…

From Silver to Gold in One Release: Silverlight 5

Silverlight 5 is coming! According to the keynote from Scott Guthrie, it will be here in beta by Spring 2011 and in release by end of year 2011. Today’s Silverlight Firestarter event included a keynote speech by Scott Guthrie, announcing the features that are slated for the next release. Because I went into great detail…

Silverlight and WCF Service Consumption: Event vs. APM

I’ve blogged several times about how I like to handle services in Silverlight. For two key posts, take a look at: Abstracting Service Calls in Silverlight 3 (works well for 4, too) Simplifying Asynchronous Calls in Silverlight using Action In this post we’ll explore the difference between using the actual contract for a WCF service…

Jounce Part 7: Validation and Save/Confirm/Cancel Operations

Line of business applications are full of what we call “CRUD” screens for Create, Read, Update, and Delete. Jounce addresses common concerns that are found in these types of transactions: Is Dirty and Commit It is common to check the status of a record and only apply changes when changes actually exist. Once a user…

Jounce Part 6: Visual States and Multiple Views per ViewModel

I knocked out quite a few items for the next release of Jounce, the primary being explicit support for multiple views bound to the same view model. In the previous version, the visual state binding would only reflect the most recent view (and a bug prevented the actual binding of the view model, but that’s…

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…