I’ll build on the image button from my last post. At runtime, the presence or absence of these attributes is of no consequence at all. Keep in mind however that this is merely for tool support and perhaps documentation. Silverlight also provides an attribute, namely TemplateVisualStateAttribute, to declare the supported Visual States and Groups on a control. Silverlight allows to define these states in templates, along with State Transitions that define how the state change is to happen (e.g. pressed state or mouse over are independent of the focus state). State Groups separate mutually independent Visual States (e.g. First I‘m going to dive into some code, afterwards I’ll try to offer a few hints that should help you getting started with VSM.Ĭontrols have states (like normal, pressed, focused, for a button) states are represented by VSM as Visual States, organized in distinct State Groups. So, if you have looked into VSM and didn’t quite get it, but only just, then this post may be for you. Because the one main issue for me was that all the articles and screencasts explained what the VSM does and what great effects one (well, someone else) could achieve with it, yet all with the emphasis on ‚what‘ (and usually all at once), not on ‚how‘ (in small digestible chunks). Still, my first experiments with VSM failed miserably-and it did so because of a lack of understanding. a quick introduction at, and when I first started to tackle VSM I read it all and then some (felt that way, anyway). There is a lot of information about VSM available, e.g. But it takes some getting used to to be able to use it….