Recently, I talked about how templates in WPF/SL are fundamentally built around the concept of a state machine, where the condition is a Trigger (desktop WPF) or code (Silverlight) and the new state is a group of Setters (desktop WPF) or a Storyboard (Silverlight).  I hinted that in the future we would be making this more formal, and with the announcement of VisualStateManager for Silverlight Beta 2, you can see what I was talking about.

 Christian’s introduction thoroughly covers the functionality and tooling, so let me expand on where this is going architecturally:

 VisualStateManager, by providing an abstraction of a VisualState, makes unifying the deskop and web models much more straightforward.  While currently in Silverlight a VisualState contains a Storyboard, in the future it contain a group of Setters, just as in WPF.  And while currently the user must call VisualStateManager.GoToState in code, in the future a GoToState action in the body of a Trigger will allow WPF style “codeless” templates to utiltize VisualStates and get the benefits of automatic transition generation and a more designer-friendly tooling experience.  More soon…

Comments (4)

  1. dragonshed says:

    I’m glad SL2 templating model is coming more inline with WPF.  Do you think you’ll hit full Trigger support (condition + setters) by SL2 RTM or at some point beyond that?

  2. VisualStateManager, a.k.a. VSM, I quote our WPF architect John Gossman’s words from the architectural

  3. The last one-and-a-half to two years I have been developing WPF applications. A few weeks ago I decided