Visual State Manager, new feature of Expression Blend

5 06 2008

Which I believe easily one of the most impressive and innovative enhancement to Expression Blend!

Why do I say so? Read on.

One of the key element that makes Expression Blend such a powerful tool, is its capability to allow designers to customize and have complete control over the visual look and feel of every element in WPF and Silverlight applications, which would turn out exactly the same as it looks in Blend, thanks to XAML.

So, when customizing the look, feel, transition animations, etc of a control, the steps are pretty different for both WPF and Silverlight, briefly shown below:

 

  1. Create a Storyboard.
  2. Define an transition animation.
  3. Add an event trigger for the control, targeting the Storyboard.
  1. Create a Storyboard
  2. Define an transition animation
  3. For Silverlight 1.0 Sites, JavaScript has to be written in the code behind to trigger Storyboards for each event.
  4. For Silverlight 1.0 Applications, managed code has to be written in the code behind to trigger Storyboard for each event.

 

Thus, in order to “style” each control, the designer would have to define the transition animations that are stored in a Storyboard, and the look and feel of various states, and for Silverlight applications, they also need to write code to trigger the transition animations.

With the introduction of the Visual State Manager (VSM), that will be included in the June preview of Expression Blend, these steps could be further simplified, but not replaced. As VSM is introduced to simplify the customization of visual states of controls.

Visual States are essentially the various states of a control that could be seen visually. For example, a checkbox could have a few visual states:

 

Unchecked –>
Checked –>  
MouseOver –>  
MouseLeftButtonDown
(or MouseDown)
–>

 

With VSM, you could easily customize the various visual state of a control, along with the animations that will be in effect upon each state transition, and the very duration of each transition animation.

The Interaction Panel of Expression Blend will now include a State Explorer, allowing designers to now dive down, view, and customize the various visual states of any control. The duration of transitions can be defined for each visual state group, or for a specific visual state, or even for transitions to other visual states.

VSM is not only supported for template-based controls, but also User Controls, where states could be defined, instead of customized based on the available states.

Do take note that the VSM will be available for Silverlight 2 Beta 2 Application Projects for the June preview of Expression Blend, but the preview version for WPF will be available as a separate download.

To find out more about the VSM, check out the awesome posts by Christian Schormann of the Expression Team:

- Creating Control Skins with Visual State Manager – An Introduction (Make sure you see the video!)
- Visual State Manager: Goals
- Visual State Manager for User Controls: A Simple Chord Finder Example

The introduction of VSM greatly simplifies the process of “styling” both WPF and Silverlight applications, by providing a consistent solution of managing “styles” of controls.

I for one love the idea of not needing to write any code in order to “style” the applications I craft, and most definitely reduce the learning curve of designers going from WPF to Silverlight and vice versa.

Kudos to the Expression Team in bringing such a huge improvement to Expression Blend!





Xceed Upload for Silverlight

13 05 2008

Today, I received the online newsletter from the Xceed team, who are pretty well known for their awesome Xceed DataGrid for WPF, where they announced the release of the Xceed Upload for Silverlight.

It is a full featured Upload control (like the ASP.NET FileUpload Control), built on Silverlight 2.0 Beta 1, which has cool features like a loading indicator, imagine previewing, multiple file uploading support, and many more.

As far as I know, I don’t think other control vendors have any file upload control, which is very useful in developing enterprise solutions. This is definitely richer and much more interactive alternate to the ASP.NET FileUpload control, as long as your company can afford it :)





faceOut

12 05 2008

Today, I dropped by Silverlight.net and saw faceOut being featured on the right column of the front page.

faceOut is a demonstration application by Infragistics, that is created using the Silverlight 2.0 Beta 1 controls included in their NetAdvantage for Silverlight control set, to build a rich interactive, enterprise quality mashup utilizing Windows Live Services.

For more information on faceOut, check it out here. Infragistics have also shared the source code to the mashup, packaged along with the NetAdvantage by Silverlight.

You could also experience faceOut here.