Scott Guthrie announced Silverlight 5 in Silverlight Firestarter event last December 2010. Now at the MIX11 conference Scott Guthrie announced the availability of Silverlight 5 Beta.

Lets see what this new Silverlight 5 Beta release has to offer.

    • XAML debugging
    • Media
    • Text
    • Implicit Data Templates
    • Markup Extensions
    • Controls
    • 3D Graphics
    • Trusted Applications in Browser
    • Trusted Applications
    • General “stuff”

XAML debugging

Like the name suggests, you can now set a break point in XAML on any line has a {Binding} syntax. Here is Pete Brown demonstrating XAML debugging.


Silverlight 5 now has something similar to Windows Phone called SoundEffect. You can also control the volume, pitch, etc. in the SoundEffect class. TrickPlay or variable speed playback is also supported in this release.


A RichTextBoxOverflow element has been introduced, that will allow you to have linked text containers where the text flows to another element.  This will help with automatically laying out text in situations like mulit-column.

A few things that are still being worked on are improving text clarity using pixel-snapping and enhanced OpenType support.  Some of these were demonstrated at MIX so be sure to watch the keynote and session videos!

Implicit Data Templates

It is now possible to specify a Data Type for a particular Data Template. This means that you can have different representation of  two different objects in the same list depending on their data types.

<ListBox x:Name=”PeopleList”>


<DataTemplate DataType=”local:Manager”>

<Border Background=”LightBlue”>

<StackPanel Orientation=”Horizontal”>

<TextBlock Text=”{Binding FirstName}” />
<TextBlock Text=”{Binding LastName}” />




<DataTemplate DataType=”local:Employee”>

<Border Background=”Bisque”>

<StackPanel Orientation=”Horizontal”>

<TextBlock Text=”{Binding FirstName}” />
<TextBlock Text=”{Binding LastName}” />






I would say this feature is going to help a lot for people who deal with different sets of data at a time. As always we have Pete Brown demonstrate Implicit Data Templates.

Markup Extensions

This will help with those who follow the MVVM pattern of development as well as those who have been yearning to be able to have their own expressions run on markup. Allowing Markup Extensions is a great feature, lets see how it affects Silverlight development in the near future.


On a control level Silverlight 5 Beta brings for us Multi Click and multiple window support.

We now have a ClickCount property in the MouseButtonEventArgs that can be used to determine if a double-click or triple click event has been generated.

Multiple-window is the same Window element that the MainWindow shares and you are able to create numerous Windows that your application can interact with and show as separate windows in the OS.  This is not a ChildWindow implementation where they are all within the main object.  This feature is available to out-of-browser applications.  Once the main application is closed, all the Windows created from that will close as well.

3D Graphics

One of the coolest demos at the Silverlight Firestarter was the 3D demonstrations.

Be sure to watch out for more examples here to understand the capabilities.

Check out Rene Schulte and Andy Beaulieu for some good examples.  Here are some teasers:

Trusted Applications in Browser

A new feature we are bringing is the ability to do some of the “trusted” features in Silverlight in the browser.  This brings the current functionality of trusted applications in current form to be used in the browser context without having to be installed.  This still requires the XAP to have the Elevated Permissions security setting in the manifest as it would exist with out-of-browser applications as well as the XAP being signed (and the certificate in the user’s trusted publisher store).

Additionally the requirement would be that a registry key be set on the machine to enable this.  This could be deployed via Group Policy or other desktop-management techniques.  Once these are in place, the application can take advantage of the elevated permissions feature set introduced in Silverlight 4, including things like full keyboard access in full-screen mode.

Trusted Applications Out-of-browser Enhancements

In addition to the new multiple Window support, trusted out-of-browser applications can now access the broader file system outside of the user’s “My Documents” type areas on the disk.  We hope this provides greater flexibility in the most trusted application area.

General “stuff”

In addition to the features noted above, here’s some things that are also included that I chose not to put in one of these categories and are implemented in the Silverlight 5 beta:

  • Startup performance improvements on multi-core systems (multi-core JIT)
  • ComboBox with type-ahead searching
  • DefaultFileName in SaveFileDialog!!!
  • Improvements in the graphics stack brought over from the Windows Phone code base
  • Hardware acceleration in Windowless mode in Internet Explorer 9

You may be realizing there was a lot more shown at MIX keynote and will be discussed.  You’d be right.  There are a number of things that are still need refining, that aren’t in the current beta such as:

  • Vector printing
  • Power awareness for things like full-screen apps (i.e., don’t put me to sleep if I’m watching an awesome movie)
  • Remote control support allowing users to control media playback
  • OpenType support as previously mentioned
  • Text clarity improvements with pixel snapping as previously mentioned
  • A new DataContextChanged event
  • WS-Trust support for services
  • 64-bit support for the plugin
  • COM interop for trusted in-browser applications
  • P/Invoke for trusted applications
  • PivotViewer control improvements and distributed in the SDK

Lets hope some more of our favorite features are added in the upcoming Silverlight releases.

Related links

One thought on “Silverlight 5: What’s New

Share your thoughts

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s