The construction of a ViewModel is often the standard technique for solving binding problems within Silverlight. However, the addition of a ViewModel adds complexity to your code. In this post Colin Eberhardt describes an alternative method where a mini-ViewModel is applied directly to the problem areas in the view, leaving the rest to use simpler binding to business objects.
One of the features of WPF / Silverlight that appealed to me immediately when I started to learn it was the flexibility of the binding framework. The concepts of DataContext inheritence and flexibility of the value converters results in a lot less glue-code, which makes me a happy developer! However, it does not take long before you start finding examples that just dont fit with the framework and things start to get just little more complex. This blog post describes one such example.