I use a View-first (sort-of) approach. I define the View in collaboration with my client with a dummy viewmodel with test data. When we are satisfied, I proceed to extract an interface from the 'dummy' and implement the real ViewModel. I've found this approach most appealing for the following reasons:
- It's fast as prototyping is in-expensive time-wise and I often get it right (ish) in the fourth or fifth try.
- ViewModels tend to be easy (easier) to implement when I have an interface to adhere to.
I work in WPF, but I'd think it wouldn't be too different in SL. Also, I never spend time on testing views which may attribute to my choice of approach.