Windows Phone 7 Tombstoning with MVVM and Sterling

Yesterday I wrote about an ultra light Windows Phone 7 MVVM Framework and mentioned that I would deal with tombstoning in a later post. This is the post. Sterling makes tombstoning very easy because it handles serialization of just about any type of object. To show an example, we’ll start with the concept of a…

An Ultra Light Windows Phone 7 MVVM Framework

I’ve been doing more work on Windows Phone 7 applications. Because of the smaller footprint of the phone and the way the application is hosted, I don’t believe the phone requires the same types of tools and frameworks as the browser. Sharing code and services is something that is obviously important, but while I am…

Sterling Object-Oriented Database 1.0 RTM

In early 2010 I was working on several Silverlight projects that were driven by the need to provide a working offline solution. Isolated storage was the obvious answer. Unfortunately, serializing 10,000 contacts came with some overhead and I realized quickly that I was following some similar patterns when it came to handling large sets of…

Parsing the Visual Tree with LINQ

I noticed a project on CodePlex that provides a “JQuery-like syntax” for parsing XAML. It looked interesting, but then I wondered why it would be needed when we have such powerful features available to us in the existing runtime. Silverlight provides a powerful VisualTreeHelper for iterating elements in the visual tree. It also provides a…

A Pivot-Style Data Grid without the DataGrid

It is fairly common to come across the need for a grid that has dynamic columns and I’m surprised that an open source control hasn’t yet been implemented to provide this (or maybe it has … if so, please share in the comments). I’m not a fan of the DataGrid because it feels very heavy…

The Visual State Manager Explained

This evening I presented a talk that dove into the details of Silverlight’s Visual State Manager. I enjoyed the talk and had a terrific crowd with some very good questions. The deck explains much of what I went into with the talk, including exactly how the VSM works from when and how it starts and…

Jounce Part 10: Visual State Manager

One of the most common questions I get about Jounce is how to handle transitions, since the ContentControl immediately swaps out content. There are some third-party solutions, such as the TransitioningContentControl from the Silverlight toolkit, but Jounce can also handle this right out of the box. Take a look at an example: View example in…

Sterling Silverlight and Windows Phone 7 Database Triggers and Auto-Identity

Sterling changeset 72063 [browse the source code here] introduces triggers. The trigger is a powerful feature that allows you to universally intercept database operations. Their application in Sterling resolves several concerns, including: Validation — prevent a save operation from succeeding if data integrity is compromised, or prevent a delete operation when prerequisites are not met…

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…

Signal-to-Noise Ratio, ROI and ROA in Software Development

I normally focus on very technical posts with a lot of code. Recently, I’ve been asked a few questions and had some interesting conversations that prompted this more philosophical post. I’d like to take a step back and look at the software development process in general and you as the specific developer, to share some…

Using Sterling in Windows Phone 7 Applications

Sterling is an object-oriented database that I created to facilitate ease of serialization of data in both Silverlight 4 (soon 5) and Windows Phone 7 projects. Sterling was designed with a few goals in mind. It is not a true relational database and not intended to replace one. I’m confident certain offerings such as SQLite…

Jounce Part 8: Raising Property Changed

This will be a shorter bit for an interesting topic. I’ve noticed a few posts and discussion around raising the property changed notification. This continues to be the sore spot for MVVM. It creates quite a bit of ceremony for what is a fairly common piece of functionality that shouldn’t be so hard to create.…