This article has been deleted on Code Project!
Gagan Kapoor demonstrates a cool way of handling visual states on xaml.
Source: The Code Project
A nice and cleaner way of handling visual states on xaml is setting the states from ViewModel rather than setting Visibility of each control using Binding and then setting binding at viewmodel. Creating visual state groups simplify concept of understanding the UI and gives more flexibility for designers to work on it independently. Below I have designed simple example to demonstrate the concept.