Welcome to Pete Brown's 10rem.net

First time here? If you are a developer or are interested in Microsoft tools and technology, please consider subscribing to the latest posts.

You may also be interested in my blog archives, the articles section, or some of my lab projects such as the C64 emulator written in Silverlight.

(hide this)

04 Sep 2011

The Big List of What’s New or Improved in Silverlight 5

   

Several of you have asked for a more complete list of the features that are new or improved in Silverlight 5, especially those new to the RC. Here is my mostly complete list of major features. I haven't included the tons of fixes and improvements, but maintained a focus on major features. (I say "mostly complete" so I have an out when I later realize I forgot something.)

Binding and Related

  • ICustomTypeProvider (see Alexandra Rusina's post)
  • Custom Markup Extensions
  • Ancestor RelativeSource Binding
  • Implicit Data Templates
  • Binding in Style Setters
  • DataContextChanged Event (new since beta)
  • PropertyChanged now an UpdateSourceTrigger option (new since beta)

Graphics

  • XNA 3D API
  • Improved Graphics Stack
  • 3D Render targets (new since beta)
  • XNA 3D built-in effects (new since beta)
  • 3D surface composition settings (new since beta)
  • 3D multi-sample anti-aliasing (new since beta)

Media

Text

Operating System Integration

  • P/Invoke (new since beta) (also: My Printer Enum Example)
  • Multiple Windows
  • Unrestricted File System Access in Full Trust
  • Full Trust in-browser
  • Default Filename in SaveFileDialog and OpenFileDialog (new since beta)
  • 64 bit browser support for Windows (new since beta)
  • Power awareness for media apps (keep the PC alive while a movie is playing, for example) (new since beta)

Productivity and Performance

  • Network Latency Improvements
  • Databinding Debugging
  • Parser Performance Improvements
  • Multi-core JIT for improved start-up time

Controls

Other

Why weren't these all in the initial list?

My initial list only had a few key features listed. Some, such as Tasks and Covariance/Contravariance made it into Silverlight without me realizing it. For the most part, I got the feature list by checking with the product team and by trolling our specs repository.

So how does stuff make it in without it being on a master Silverlight list? That's easy. Many teams at Microsoft contribute to Silverlight either directly, or through other things such as the core CLR, framework, and C# language. Since Silverlight shares much of that code, cool and exciting features make it in without showing up in a Silverlight feature list. A great example of this is Tasks from TPL. The right people did know those features made it in (people actually writing code, the testers etc.), I just hadn't noticed it. It's not a conspiracy to keep the TPL folks down, trust me :)

Learn More

Many of these features are documented on http://silverlight.net/learn via an increasing number of tutorials.

In addition to that, if you're looking for a one-stop shop for learning Silverlight 5, consider my book Silverlight 5 in Action, to be released in print near the end of this year. It's currently in MEAP, with purchasers able to download chapters as I make them available.

Share |
posted by Pete Brown on Sunday, September 04, 2011
filed under:    

16 comments for “The Big List of What’s New or Improved in Silverlight 5”

  1. Peter Kuhnsays:
    Some minor corrections:

    P/Invoke also is new since the beta

    Full trust in browser is not new in the RC, was in the beta:
    e.g. http://www.pitorque.de/MisterGoodcat/post/Silverlight-5-Tidbits-Trusted-applications.aspx

    ComboBox type-ahead also is not new in the RC, was in the beta:
    e.g. http://www.pitorque.de/MisterGoodcat/post/Silverlight-5-Tidbits-Incremental-Search.aspx
  2. Petesays:
    @Peter

    Thanks. Corrected above.
  3. Anders Gustafssonsays:
    Hi Pete,

    I was just wondering if you have heard anything from the Silverlight team whether unsafe code will be officially supported in SL5 RTM (http://cureos.blogspot.com/2011/09/unsafe-support-in-silverlight-5.html).

    Thanks in advance,
    Anders
  4. Petesays:
    @Matthieu

    You man covariance and contravariance (last bullet above), or something else?
  5. Petesays:
    @Anders

    Unsafe code is an unsupported and windows-only side effect of having pinvoke support. It'll probably be there in RTM, but we're not calling it out as a supported feature. Use it at your own risk.

    Pete
  6. grabahsays:
    OT:
    what does that guy on the cover of your book represents?
  7. Petesays:
    @grabah

    Nothing in-particular. However, the manning books all have an "about the cover" at the beginning that explains how they picked them and the backstory behind the book of medieval costumes.
  8. Senkwesays:
    Still no fix for the bug that prevents us using drag and drop inside a ChildWindow :-( It's almost 2 years now.
  9. Davesays:
    I have installed Silverlight 5 RC and am unable to get the Windows MCE Remote to do anything new with Netflix streaming video in full screen mode or not. A few things work but they already worked on the old Silverlight version. "Should" SL5 work with Netflix? The movies play fine...
  10. Mark Centurysays:
    Async / Await ???

    The Async CTP worked great with SL 5 Beta. When will support be provided for SL 5 RC?
  11. Poli Qin lieksays:
    This is beautiful ....
  12. Richard Watsonsays:
    "Default Filename in SaveFileDialog and OpenFileDialog (new since beta)" should read "DefaultFileName in SaveFileDialog and InitialDirectory in OpenFileDialog". I have the SL 5 RC.
  13. How to be a cooksays:
    Lots of lovely Silverlight 5 updates, thanks for putting this together, just what I was looking for!
  14. Waqar82_geosays:
    Text File reading Within Browser is supported or not
    and if not then most bhi add in final release or patch must be provide
  15. JMsays:
    This is great, and please keep Silverlight going. Yes, I believe that HTML is the future, but it would be a mess building complex, rich business apps with it today (you end up swimming in JavaScript). To Microsoft: please don't kill this rich platform off.

Comment on this Post

Remember me