First time here?

You are looking at the most recent posts. You may also want to check out older archives. Please leave a comment, ask a question and consider subscribing to the latest posts via RSS or email. Thank you for visiting!

Silverlight 3Well, by now the interwebs are getting busy with the news about Silverlight 3 details announced at MIX09.  The team has been hard at work (and still aren’t resting) pushing out this beta release.  Over the next week you’ll see lots of blog posts by team members and Silverlight MVPs who have been enthusiastically waiting to share what we’ve been working on and show you some sample applications they’ve been working on.  Quite frankly, so will I :-).

But in the meantime, allow me to share my thoughts and perhaps some deeper details with you if you can’t discern them in updated API documentation or marketing messages.  The high level feature updates and what they mean to the platform are great and can be found on the Silverlight 3 Beta information section of the Silverlight community site.  I’ll try to boil it down at the developer level here though to articulate some of the core changes and what I think are relevant for you to know.

UPDATE: 10 July 2009: Silverlight is released, check out the details!

The Tools

First, to be successful and have fun, you’ll need some tools.  Here’s where you can get them:

Those would be my opinion of the bare minimum to fully evaluate Silverlight 3. 

NOTE: The Silverlight Tools installer performs one first step that requires an internet connection to download the developer runtime to install.  If you are behind a proxy server or if it fails early it is likely because it cannot retrieve that runtime because of your network configuration.  In that case, download the runtime separately and extract the tools bits (silverlight3_tools.exe /x) and then copy the downloaded developer runtime (Silverlight.3.0_developer.exe) in that directory, then run SPInstaller.exe.  Yeah, not terribly intuitive, but it works.

This should get you started on getting your environment up and running.  Before you install please know that once you do, your machine now becomes a Silverlight 3 dev machine.  You cannot down-level target to Silverlight 2.  If you still need to develop Silverlight 2 applications easily, ensure you are installing Silverlight 3 beta on a separate machine.  You’ve been warned :-).

The Resources

There will be a few places you can go to learn about things.  Here’s what I’d recommend:

These are some great starting points for resources.  As more samples and end-to-end applications come on board, I’ll be sure to point them out.

What’s New in Silverlight 3

Now on to the deeper dive stuff.  Saddle up, because this will be some long information in hopes to be as transparent as I can with the updates to the framework.  In each area I’ll be sure to point out if there are existing specific resources (labs, videos, etc.) for that specific feature.  This section represents where we are currently at with Silverlight 3.


Besides the updates in Expression Blend 3, we’ve made improvements to the XAP compression within the Silverlight tools when creating XAP files.  We’ve seen our own application benchmarks but it is best to have you take a look at your own applications since content/resources vary across different applications.

The Eclipse for Silverlight project also announced Mac platform availability for Silverlight development (Silverlight 2).  That’s right.  Silverlight development on the Mac.

back to top


A great number of controls were added, including fulfilling some promises from the Silverlight Toolkit on bringing Mature band controls into the runtime.  Those include:

  • DockPanel
  • WrapPanel
  • Label
  • ViewBox
  • AutoCompleteBox
  • DataGrid
  • TreeView
  • Expander
  • HeaderedItemsControl
  • HeaderedContentControl

Additionally (and using some of these above as bases in some cases, new controls were added):

DataForm – The DataForm serves as a flexible control for displaying data representing a single entity definition.  This control enables various methods for display, edit/update and navigation through data.  When combined with other controls, DataForm provides a simple method for attaching to data contexts and having a quick or highly customized UI for displaying entity data.

Video: DataForm Reviewed

back to top

DataPager – The DataPager serves as a simple control to provide next/previous and numeric paging capabilities for data sets which implement the IPagedViewCollection interface.  When combined with .NET RIA Services (which ObjectDataSource automatically implements this collection), DataPager provides a quick and efficient mechanism for paging data without having to bring entire data sets to the client and page though them there.

back to top

Navigation Framework – A new navigation framework is introduced and implements two controls: Frame and Page.  Using this framework you can partition your views into separate XAML files and navigate to each view as simple as you would previously a web page.  This framework also integrates with the browser’s history journal to provide back/forward capabilities. 

By enabling this framework you can implement deep linking support in your Silverlight application easily.  This will help also with enabling certain SEO enhancements for your Silverlight application.  Watch the video to see how you can implement this as well as implement custom routing for friendly URIs without exposing your XAML location definitions.

Video: Navigation Framework

back to top

New Toolkit Controls – Several new controls were also introduced as a part of the Silverlight Toolkit.  Click on the links of those enabled here to view a video tutorial of the control.

For more information on the Silverlight Toolkit, visit their project page and get the updates for both Silverlight 2 and Silverlight 3 Beta.

back to top


Media has been a strong point in Silverlight since day 1, but we’ve added some features based on customer feedback including support for new media types like H.264 and AAC encoding.  Additionally we’ve added support for RAW audio/video pipeline support, which will enable developers to provide audio/video decoding outside the runtime and render in Silverlight – opening up some new areas for wide support for 3rd party codecs.

back to top


Perspective 3D transform support was added to enable 3D scenarios and putting objects on a plane for various user experience scenarios.  It’s fairly simple and no different than how you already interact with transforms (and of course, Expression Blend makes this easier), by manipulating the PlaneProjection:

   1: <Button Height="56" HorizontalAlignment="Left" Margin="66,73,0,0" VerticalAlignment="Top" Width="200" Content="Button">
   2:     <Button.Projection>
   3:         <PlaneProjection RotationZ="-53" RotationY="56" RotationX="20"/>
   4:     </Button.Projection>
   5: </Button>

This will enable various 3D scenarios (like CoverFlow type user interfaces, for example) and make for some type of transitions a lot easier (like front/back ‘flipping’ animations).

Video: Perspective 3D in Silverlight

back to top

Pixel Shader APIs were added to allow developers to create effects like blur and drop shadow effects (included) but also enable developers to create their own effects.  As an example of using the included Blur effect you could implement the effect on any UIElement (pictures and any UI XAML element).  The code below:

   1: <Button Content="Tim Heuer" FontSize="24" Width="150" Height="100">
   2:     <Button.Effect>
   3:         <BlurEffect Radius="10" />
   4:     </Button.Effect>
   5: </Button>

would result in the UI here:

Additionally as mentioned you can create your own effects.  Check out the video link for an example of how to use some existing DirectX type effect code and create your own Silverlight effects based on them.

Video: Silverlight 3 Effects

back to top

Animation Easing effects are now a part of Silverlight providing you with a set of easing animations such as bounce, elastic effects, etc.  These interpolators will help with smoother animation transitions and other visual effects you are trying to accomplish.

back to top

Cached Composition (GPU support) support enables leveraging the GPU for rendering which then frees up normal CPU processing for other things.  This will be a helpful API for having the ability to cache a visual tree for using for simple transforms or for offloading certain scenarios (media) to hardware versus having the software handle those tasks.

back to top

A new Bitmap API will enable developers to build applications that do more granular manipulation like a red-eye correction editor for photos being able to correct specific pixels writing them back to the bitmap.

back to top

Text improvements including more efficient rendering and animation of text within an application.  Additionally, making use of the JavaScript API for local font support would accelerate application load time when local fonts can be used.  While not in the beta, we will be adding ClearType support for text rendering in the final version of Silverlight 3.

Image Improvements including the decoding of image data before it is added to the visual tree and enabling control over the image cache.

back to top

UI Framework Enhancements

Element-to-Element Binding is now available in Silverlight 3.  This enables your UI elements to have binding toward properties of each other.  For instance:

   1: <Grid x:Name="LayoutRoot" Background="White">
   2:     <StackPanel Orientation="Vertical">
   3:         <Slider x:Name="myslider" Minimum="0" Maximum="100" />
   4:         <TextBlock Text="{Binding Value, ElementName=myslider}" />
   5:     </StackPanel>
   6: </Grid>

Would enable the value of the TextBlock to automatically update based on the position of the Slider’s thumb that the user moves in the Slider.  This is accomplished through this UI update and no code is required.

Video: Element-to-Element Binding

back to top

Styling improvements including dynamic changes and BasedOn styling.  This first enables you to change a style at runtime or to also mark a control’s style to be based upon an existing style definition.  This is helpful in dynamic control scenarios as well as providing user customizable user interfaces without the developer having to manage the visual tree re-rendering as an intense task now.

back to top

You now have the ability to style the CaretBrush for input controls.  This is helpful for high-contrast situations so that the Caret (cursor marker) is visible in contrast situations or however else you want to present the caret to the user.  You can do something as simple as:

   1: <TextBox CaretBrush="Blue" />

or as crazy as:

   1: <TextBox>
   2:     <TextBox.CaretBrush>
   3:         <VideoBrush SourceName="MyMovie" />
   4:     </TextBox.CaretBrush>
   5: </TextBox>

Why you’d want your input cursor to be a video, I have no idea (and hopefully you wouldn’t)…but just know that you can do that now :-).

back to top

With a built-in mechanism now for binding validation (and UI templates for validation), your application in XAML will now honor your data source’s exception layer for data binding. 

   1: <TextBox Text="{Binding Text, Mode=TwoWay, ValidatesOnExceptions=true}" />

For example, if your data has a requirement for a field to have data and the user tries to perform an action without entering the required data, your application will show default validation UI which you can change/customize if you’d like.

back to top

LocalConnection API

The LocalConnection API enables the scenarios for Silverlight applications to communicate with each other through an asynchronous messaging system.  This is helpful in advertising scenarios as well as when you have islands of Silverlight functionality mixed with standard HTML content as well.  The LocalConnection APIs have a LocalMessageSender and LocalMessageReceiver that operate as sort of a pub-sub model.  Silverlight applications across domains can also communicate with each other given the sender/receivers enable that via the code (default is not global communication).

Video: LocalConnection API in Action

back to top

Application Model Enhancements

The introduction of the complimentary API to OpenFileDialog, we now have the SaveFileDialog.  Guess what, it does exactly what you’d think it does by providing a mechanism to write content out to the client machine, prompting the user where to place that content via the standard OS-specific save dialog boxes.

Video: SaveFileDialog API

back to top

Merged ResourceDictionary support is now available!  This enables you to manage ResourceDictionary files in separate files and simply reference them in your XAML like:

   1: <Grid x:Name="LayoutRoot" Loaded="LayoutRoot_Loaded" >
   2:    <Grid.Resources>
   3:        <ResourceDictionary>
   4:            <ResourceDictionary.MergedDictionaries>
   5:                <ResourceDictionary Source="/myexternalresources.xaml" />
   6:            </ResourceDictionary.MergedDictionaries>
   7:         </ResourceDictionary>
   8:     </Grid.Resources>
   9: </Grid>

Very helpful in managing external dictionary files and maintainability of an application.

back to top

Assembly caching enables extensions to Silverlight that are not a part of the core runtime, but can be managed by the runtime to be cached, thus saving your application from having to download extension assemblies each time the application loads.  For example a reference to System.Windows.Controls.Data at compile time will result in a smaller XAP and in the AppManifest.xaml having this notation:

   1: <Deployment.ExternalParts>
   2:   <ExtensionPart Source="http://go.microsoft.com/fwlink/?LinkID=XXXXXX" />
   3: </Deployment.ExternalParts>

Which at runtime would result in your application loading and then the external parts being requested/downloaded and cached.  Each extension assembly that can have this enabled would be represented as a separate ExternalPart in the manifest.  This is not turned on by default and you can enable this in your Visual Studio project properties.

back to top

A new Network monitoring API is introduced to enable the scenarios of checking when the network status changes (i.e., connected/disconnected) as well as simple checking if the network is available.  To hook up to the NetworkChange event:

   1: NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(NetworkChange_NetworkAddressChanged);

and to query if the network is available:

   1: bool connected = NetworkInterface.GetIsNetworkAvailable();

These are both helpful in the following scenario and biggest addition to the application model framework.

back to top

Out-of-browser Experiences have now come to Silverlight!  This is a highly requested featured and is enabled with no additional download/plugin.  Each and every Silverlight 3 application can be enabled to run as a desktop application (yes, cross-platform with Windows/Mac) by subscribing to a series of APIs and defining the application in the manifest.  By defining the application in the manifest like:

   1: <Deployment.ApplicationIdentity>
   2:         <ApplicationIdentity
   3:             ShortName="MyTasks"
   4:             Title="MyTasks -- Get-r-done">
   5:             <ApplicationIdentity.Blurb>A simple tasks list you can take with you on the go.</ApplicationIdentity.Blurb>
   6:             <ApplicationIdentity.Icons>
   7:                 <Icon Size="16x16">AppIcons/task16.png</Icon>
   8:                 <Icon Size="32x32">AppIcons/task32.png</Icon>
   9:                 <Icon Size="48x48">AppIcons/task48.png</Icon>
  10:                 <Icon Size="128x128">AppIcons/task128.png</Icon>
  11:             </ApplicationIdentity.Icons>
  12:         </ApplicationIdentity>
  13:     </Deployment.ApplicationIdentity>

The application would now be enabled to be installed onto the desktop via a simple right-click context menu, or via an API like:

   1: Application.Current.Detach();

This is a really great scenario and in combination with the network detection can enable occaisionally connected applications.  See the video for a demonstration on the fundamentals of this feature.

Video: Out-of-browser Experiences

back to top

Application Frameworks

Alongside Silverlight 3 Beta, the team is releasing .NET RIA Services.  .NET RIA Services simplifies the traditional n-tier application pattern by bringing together the ASP.NET and Silverlight platforms. The RIA Services provides a pattern to write application logic that runs on the mid-tier and controls access to data for queries, changes and custom operations. It also provides end-to-end support for common tasks such as data validation, authentication and roles by integrating with Silverlight components on the client and ASP.NET on the mid-tier.

One paragraph cannot do this framework justice, so be sure to download the .NET RIA Services bits and go through the walk-through lab that is included with the install.

View the Guide: .NET RIA Services User Guide

back to top

Connected Systems Enhancements

Various improvements in ‘connected systems’ (web services, etc.) framework areas have been introduced to help faster and more secure scenarios for communication.

Binary XML support is introduced which enables Silverlight to communicate with Windows Communication (WCF) services using the Binary XML data format in addition to regular text XML.  The use of the Binary XML format results in smaller message sizes and better performance in the messaging with the service.

back to top

A command-line utility (slsvcutil.exe) is a part of the SDK tools to enable proxy code generation via command-line instead of just the Add Service Reference feature in the Visual Studio tools.  Using this feature is as simple as:

   1: slsvcutil.exe http://myservice.com/myendpoint.svc?WSDL

and can be as enhanced as emulating exactly the Add Service Reference feature for automated builds, etc.

back to top

Additional Improvements

Some other additional improvements in other areas include:

  • Better support for high contrast screen situations for colors/text by recognizing all the system colors
  • Deep Zoom additional APIs and improvements on the use of multiple MultiScaleImages

Over the next few weeks keep an eye on the Silverlight community site resources are for more video tutorials on these features and more. 

What do you think of some of what we’ve implemented in Silverlight 3?

This work is licensed under a Creative Commons Attribution By license.

3/18/2009 11:13 AM | # re: A guide to Silverlight 3 new features
How does .NET RIA Services relate to PRISM? Sorry, i know you are busy.
3/18/2009 11:17 AM | # re: A guide to Silverlight 3 new features
Krishna it's a great question. RIA Services presents "yet another option" for developers. It's a pattern, it enables some high productivity, but it might not be for everyone.
3/18/2009 11:34 AM | # re: A guide to Silverlight 3 new features
Hi Tim!

Excellent summary, thanks for making this available right away to satisfy our curiosity.

Question 1 -- does SL 3 Beta 1 have a go live license?
Question 2 -- if it does, can end users have both runtimes and/or is the SL3 B1 runtime totally backward compatible?

3/18/2009 11:45 AM | # re: A guide to Silverlight 3 new features
Tim why no support for RTL yet? Is there any problem supporting it? Do you
have any info about it?
3/18/2009 11:48 AM | # re: A guide to Silverlight 3 new features
Thanks a lot Tim ! and wishes to SL team !! Blend 3 with Sketch Flow looks very cool,SlSvcUtil looks new me in SDK.
3/18/2009 11:49 AM | # re: A guide to Silverlight 3 new features
3/18/2009 11:53 AM | # re: A guide to Silverlight 3 new features
Does the H.264 support mean that I can play QuickTime MOV files?
3/18/2009 11:59 AM | # re: A guide to Silverlight 3 new features
What about right to left support for arabic and hebrew?
3/18/2009 12:05 PM | # re: A guide to Silverlight 3 new features
I was hoping to hear an update on getting Silverlight onto Windows Mobile and Nokia devices. It would be awesome to see a multitouch demo on a mobile device! Any updates there? Great work, can't wait to use this stuff!
3/18/2009 12:08 PM | # re: A guide to Silverlight 3 new features
A lot of good stuff from both expression and silverlight team :)

I have two questions:

1- Why ClearType will be only in final and not in future betas?
2- As the real time stream of mix09 keynote was lacking of bw i couldn't watch whole of it. However i have seen something like "text search" in an application. Is there something like that or did i just made up that:)

Thank you Tim, both for infos and videos.
3/18/2009 12:29 PM | # re: A guide to Silverlight 3 new features
The ChildWindow Sounds interesting to me. I'd like to learn more about it. Modal Dialogs is one thing I've found awkward in SL2.
3/18/2009 12:36 PM | # re: A guide to Silverlight 3 new features
Tim,thanks for the detailed post.
We need right-to-left bidi support!
3/18/2009 1:06 PM | # re: A guide to Silverlight 3 new features
Tim - thanks for this look at what's coming. The LocalConnection API looks to be my new fave feature; is there any move on being able to generate SEO friendly output from the Silverlight plugin?
3/18/2009 1:07 PM | # re: A guide to Silverlight 3 new features
You guys implemented the assembly caching right on time!
It's a VERY useful feature!
As more and more Silverlight 2 and 3 apps using toolkit spread, our app won't have to include toolkit assemblies which is cool and saves much space especially when you develop little apps.

Running as a desktop app feature along with raw bitmap handling, SaveFile dialog and LocalConnection opens possibility for new type of Silverlight apps!

I was expecting however more 3D support like defining 3D objects (meshes).

Awesome work. Seems like you guyz enjoy working now then ever!
3/18/2009 1:12 PM | # re: A guide to Silverlight 3 new features
Thanks for the great post. I've been anxiously waiting for it. One note, The NetworkMonitoring API code is not visible (at least in my computer).

I'm looking forward to working with SL3

Tito (hmaprk)
3/18/2009 1:13 PM | # re: A guide to Silverlight 3 new features
I need rich text functionality :(
3/18/2009 1:16 PM | # re: A guide to Silverlight 3 new features
Yeap, i waited a long time for hearing on improvements on text features. I hope this beta is not feature complete and they will add rich text in final along with cleartype... :(
3/18/2009 1:16 PM | # re: A guide to Silverlight 3 new features
Will printing support be included in SL3? I have been looking through the documentation and so far I do not see it.
3/18/2009 1:22 PM | # re: A guide to Silverlight 3 new features
@John: Scott Guthrie confirmed that printing will not be part of Silverlight 3, it looks likely to be part of Silverlight 4 and there are developers at Microsoft working on printing support at the moment.
3/18/2009 1:28 PM | # re: A guide to Silverlight 3 new features
The download for "Microsoft® Silverlight™ 3 Tools Beta 1 for Visual Studio 2008 SP1" is only available for English and Japanese versions of Visual Studio. Will there also be a beta version for the German version? If yes: when will it be available?
3/18/2009 1:33 PM | # Silverlight 4
In terms of developing a business application:
Html Support
Right click support

would have been nice.
3/18/2009 1:35 PM | # Yeat another option???
at every TechEd, PDC or MIX, are we going to see even more options to do apps? Is everyone so free of time that don't need to actually build anything and can keep learning dozens of ways to build fancy UIs.

I would expect the frameworks to give by Design by default, usability by default, architecture by default, etc, etc.
I get confused when PRISM and RIA Services have nothing in common and hare just another option.

I want to see apps, real apps built on these frameworks. Microsoft, if this is real and productive, just publish a real app, like Outlook/Exchange for example, in codeplex, using _the_ framework. Then we could benchmark it in terms of simplicity and speed and flexbility and beauty - by default!
don't want to see thousand of C# lines of code, just the bare _intentions_, the plumbing then could be hidden by RIAservices/Prism/whateverframework
3/18/2009 1:46 PM | # re: A guide to Silverlight 3 new features
Still no printing support?
3/18/2009 1:50 PM | # re: A guide to Silverlight 3 new features
@Stefan: Thank you for updating me. Unfortunate.

I am starting a rewrite of an accounting application, and was considering silverlight for the gui. How can I make a full-featured business application without printing support?

I know I could trigger a new IE window to open with a reporting services report downloading to pdf or similar, but that will be confusing as well as require extra steps for the user, additional download from server, etc.

It will take us at least a year for the rewrite, so perhaps I could gamble on sl4 being out in time. Risky.

All of the new SL3 features are great/cool, but do not help me enough for creating bread-and-butter business apps.
3/18/2009 2:27 PM | # re: A guide to Silverlight 3 new features
What about WebClient verbs besides GET and POST? Is that something was added but was too small to mention, or did it get overlooked in dev?
3/18/2009 2:29 PM | # re: A guide to Silverlight 3 new features
Peter there is no go-live for SL3 end customer use.
3/18/2009 2:40 PM | # re: A guide to Silverlight 3 new features
Cool updates, by the way.
3/18/2009 2:43 PM | # re: A guide to Silverlight 3 new features
PeterK: I think the toolkit team has this on their list to explore.

JC: Updated FAQ on Silverlight for mobile at http://silverlight.net/learn/mobile.aspx -- nothing new really.

Ufuk: For ClearType, we're not sure if we'll do another beta. The keynote videos are now available for download I'm told.

Carlos: Keep an eye on http://silverlight.net/learn for more SL3 video tutorials.

Pete: Take a look at the http://2009.visitmix.com site...there is a session that will be on Silverlight and SEO tactics.

Hector: What do you mean the Network monitoring API isn't visible?

Mike: rich text editing I presume? Like Rich text box? Check http://tinyurl.com/slcontrols for some open source options.

Zack: Thanks for your wishlist...those are on ours as well...not for SL3 though right now. :-(

Jose: We have 3 sample apps that are built with .NET RIA Services that are available now. And Prism 2 ships with a full reference implementation application.

John: Is XPS acceptable for printing support for you? XPS is XAML behind the scenes.

Jon: no additional verbs. We are still limited to browser networking sandbox right now. Some of that *may* change by RTM but I agree it is a pain point right now as well for hi-REST situations.
3/18/2009 2:45 PM | # re: A guide to Silverlight 3 new features
Is there some news about Silverlight Mobile?
3/18/2009 2:53 PM | # re: A guide to Silverlight 3 new features
Alexander - see http://silverlight.net/learn/mobile.aspx for an updated FAQ -- nothing really new though.
3/18/2009 3:15 PM | # re: A guide to Silverlight 3 new features
@Tim: Thanks for responding. Perhaps we could make XPS work. How would the user preview/print the XPS?

Basically we have a windows accounting app now that we are rewriting in .net. We would like the end-user experience to be almost as rich as they have now with the windows version, only via silverlight instead.

For example, when a user wants to print an Income Statement, we would like for them to preview the report and then be able to click a Print button on the toolbar. This should bring up the standard windows printer dialog (or equiv on mac), and send the results to their printer. We would be okay if this was a windows-only feature, however, I understand that clashes with SL goal of cross-platform featureset.

The overall feel of the application should be consistent, not one look-and-feel for data entry screens, etc, and some sort of a hack to get reports printed on paper.

Again, the experience needs to closely match that of a modern smart-client app, but be based on silverlight. We understand there will always be things that a SL app cannot do (when compared to a smart-client app), but seamless printing is so fundamental that we cannot live without it.

Imagine a potential customer comparing our new SL version to one of our competitor's windows app--our previewing/printing/etc. capability could literally look like a joke, even though our software is far more advanced in almost every way.

Ultimately we need to have a silverlight SQL RS report viewer control for reports.
3/18/2009 3:18 PM | # re: A guide to Silverlight 3 new features
@John: from what Scott was saying it sounds like that working in parallel on Silverlight 4, so hopefully it will be ready around about Mix time next year. (one can always hope!) What I would suggest you do is build the GUI using WPF, which has much better support for developing business applications, including printing. Hopefully by the time you finish that, Silverlight will will be more compatible with WPF. If you want some advice on single sourcing a WPF and Silverlight project you can check out my blog: www.olsonsoft.com/.../...-WPF-and-Silverlight.aspx
3/18/2009 3:40 PM | # re: A guide to Silverlight 3 new features
Tim you are the best.
3/18/2009 3:53 PM | # re: A guide to Silverlight 3 new features
Where is the New SIlverlight toolkit for SL3? I only see the old one on Codeplex.
3/18/2009 3:55 PM | # re: A guide to Silverlight 3 new features
@John: Will you be producing a windows rich client version or just a Silverlight version? One of the major advantages of Silverlight is that with relatively little difficulty you can produce both a rich client and a web client version of your product. If you did that you could then have a windows client version for customers who want the printing functionality the same as the competition, and as Tim suggested, you could use XPS under Silverlight as a reasonable hack until Silverlight has printing support.

Here in New Zealand there is a company that produces a completely Ajax based Accounting System. They use PDF to provide printing, and as far as I know the customers find this acceptable.
3/18/2009 3:57 PM | # re: A guide to Silverlight 3 new features
3/18/2009 4:23 PM | # re: A guide to Silverlight 3 new features
Thanks for everything Tim. Your blog has been instrumental in my Silverlight education. I haven't been able to find Scott's key note video yet. Maybe tomorrow. Back to my enterprise forecast app dev in Silverlight 2.
3/18/2009 4:30 PM | # re: A guide to Silverlight 3 new features
You're the best,very good articles.
3/18/2009 8:20 PM | # re: A guide to Silverlight 3 new features
Great writeup! Excited to see out of browser supported. Congrats!
3/18/2009 10:24 PM | # re: A guide to Silverlight 3 new features
It all sounds very interesting.

I am coming from a WPF background, so a lot of this is not new to me. Just SL catching up with WPF in some regards.

And on that note, I wonder if the merged dictionaries will create an IDE headache as happens to me in WPF. If you have any file open that is either the source of a merged dictionary, or is doing the merging, or references a resources that is in one of those two, it crashes the IDE every time when building the project. In my project this effectively means I can't build a project with any XAML file open, as they all reference resources.

If it works OK, I can thoroughly recommend merged dictionaries as a great way to hierarchically structure your projects.
3/19/2009 1:31 AM | # re: A guide to Silverlight 3 new features
Is there any direct communication and interaction with Adobe SWF, FLV, and CFC in Silverlight 3? I couldn't find any mention one way or another.
3/19/2009 1:58 AM | # re: A guide to Silverlight 3 new features
hello. is there any plan for supporting wsHttpBinding in sl3?
3/19/2009 3:37 AM | # re: A guide to Silverlight 3 new features
Microsoft Blend lacks XAML editing features especially when it's about creating shapes.
I know v3 comes with great import but wouldn't be nicer that Microsoft Blend would support a plugin mechanism ?
Having the app to support plugins will make Microsoft Blend truely great. Imagine how much support and feature richness will have.
Great editing software like 3DStudioMax are successful because of the plugins.

3/19/2009 3:43 AM | # re: A guide to Silverlight 3 new features
I am currently developing a website in Silverlight 2, it's just gone live. If I upgrade to Silverlight 3 beta, how do my clients view the website? Will there be an automatic prompt to install the required Silverlight 3 client, as there is now for Silverlight 2 applications? If not, how do they view an application written in Silverlight 3 beta?
3/19/2009 4:00 AM | # re: A guide to Silverlight 3 new features
Hi Tim,

Have just seen your Post. Do we have now all the commanding Features in SL3 like WPF ?

3/19/2009 4:28 AM | # re: A guide to Silverlight 3 new features
I'm about to start a 3 month development to move my app from WinForms to SL. Do I go with SL2 or SL3? When is the SL3 end-user runtime slated for release?

3/19/2009 5:02 AM | # re: A guide to Silverlight 3 new features
It is a pitty that Printing is still not in V3!
3/19/2009 5:05 AM | # re: A guide to Silverlight 3 new features
I think reporting (or the lack thereof) is a big roadblock stopping adoption of SL for a lot of people.
3/19/2009 6:22 AM | # re: A guide to Silverlight 3 new features
unless microsoft shows that silverlight is cross platform on mac and linux such that it runs equally well on these platforms and that they also show they are serious about this then silverlight is dead and Adobe flex/air is the only option available for RIA applications.

And even if there is "support" for other platforms microsoft cannot be trusted to not make silverlight on windows work better than silverlight on mac or linux.

microsoft has historically tied their products to their OS and silverlight will be no exception. the purpose of silverlight is to increase sales of windows.

next unless silverlight could be used with any browser on any platform and not have it tied to IE8 on windows then it could be considered but the bigger issue is that microsoft cannot be trusted to not tie silverlight to their products.

3/19/2009 7:13 AM | # re: A guide to Silverlight 3 new features
Hi Tim,

Thanks for the nice summary. Some very cool stuff in there can't wait to get my feet wet with SL3, I was just wondering is a way to also send up messages from the server to the client, similar to the LocalConnection without having to open sockets?

3/19/2009 8:08 AM | # re: A guide to Silverlight 3 new features
Instead of some fancy GPU usage improvement, why why is the printing support not included.
It also seems that there is no support for webcam access on client, which flash already have and why always so many versions instead of a stable one in 1 year, and it also sucks not to have the ability to work with silverlight 2.0 with silverlight 3.0 side by side.
3/19/2009 8:26 AM | # re: A guide to Silverlight 3 new features
It didn't appear to work in blend 2.0, so hopefully in blend 3.0. Will resource dictionaries be something we can configure in blend 3.0.
3/19/2009 8:33 AM | # re: A guide to Silverlight 3 new features
Is there support for capturing audio or video on the client?
3/19/2009 9:25 AM | # re: A guide to Silverlight 3 new features
XPS is NOT a suitable printing alternative. I'm currently struggling with printing support for a Silverlight based application we are developing. The XPS viewer requires .NET 3.0 to be installed...well, there go all the benefits of using the "lightweight" Silverlight plugin.

We will likely have to use some crappy PDF library to dynamically generate PDFs for printing, which is much less than ideal.
3/19/2009 9:42 AM | # Found my answer....
Why ??????????????

Silverlight 3 Beta does not implement a commanding system. This interface is in place only for interoperability and compatibility reasons.

Will it be the case in the future release ?

3/19/2009 11:50 AM | # re: A guide to Silverlight 3 new features
BlackLabrador - es a pain point. Prism 2 has a model implementation for commanding in Silverlight if you want to look at that for a current solution.
3/19/2009 11:51 AM | # re: A guide to Silverlight 3 new features
James - you can communicate with SWF via HTML interop. You should be able to play FLV if it is H264 encoded (in an MP4 container)
3/19/2009 11:52 AM | # re: A guide to Silverlight 3 new features
pelister -- we're still looking at improving the WS-* support in the networking layers. Nothing new yet.
3/19/2009 11:54 AM | # re: A guide to Silverlight 3 new features
Sambodh - no you do not want to release a Silverlight 3 app in the wild. There is no end-user runtime available and no go-live license right now.
3/19/2009 11:56 AM | # re: A guide to Silverlight 3 new features
dave -- Silverlight already is tested on Windows/Mac and fully supported on those platforms and in browsers beyond IE8. I'm not sure where your confusion is, but it is NOT a Windows only solution. Linux support is provided via the Moonlight project.
3/19/2009 11:58 AM | # re: A guide to Silverlight 3 new features
Shloma - no the concept of a "web socket" is not implemented currently.
3/19/2009 11:59 AM | # re: A guide to Silverlight 3 new features
Brian R - yes, Blend 2 doesn't support any new Silverlight 3 features.
3/19/2009 12:01 PM | # re: A guide to Silverlight 3 new features
SHopen -- no, webcam/mic input not supported right now :-( -- high on the request list though .
3/19/2009 12:17 PM | # re: A guide to Silverlight 3 new features
Tim, so what are the plans for Right-To-Left support?
3/19/2009 1:41 PM | # re: A guide to Silverlight 3 new features
Any Idea about making it truly platform independent.[That is one application build in VS IDE and it will run in all modern operating systems Linux, Windows etc]
It is not good to use different IDE [like Eclipse] for different platform.
Currently it is very difficult to convince Clients that My application will not run as it is on Linux or on others.
If we can have this support in SL3 version like we have in Flash/Flex it could be a great Boost
3/19/2009 1:58 PM | # re: A guide to Silverlight 3 new features
Many thanks Tim for taking the time to answer everybody !(I know that you must be very busy and have many blogs)
Thanks for your posts and the great work on SL3.
Why is Commanding such a pain (as it already exist in WFP)? I'm already working with PRISM2 but I don't want to overlap too many stuff (for example, the navigation framework in SL3 replace for me the Region.Manager from Prism).

Thanks !!!!!!!!!!!
3/19/2009 3:19 PM | # re: A guide to Silverlight 3 new features
Kamran -- you want x-platform Visual Studio? -- That isn't on our roadmap.

BlackLabrador -- re: Commanding -- it isn't that is terribly hard from an engineering standpoint, but we have lots of features, limited resources, trying to prioritize. I'm confident we'll solve a lot of the issues people have, but we need to manage our resources/test/QA/etc along with our desired schedules.
3/19/2009 3:38 PM | # re: A guide to Silverlight 3 new features
Question to Databinding:
Any chance that UpdateSourceTrigger will be available in SL3 as well?

great stuff, looks like I am going to rewrite my WPF app in Silverlight.
3/19/2009 8:12 PM | # 3D
Are there other 3D features in the pipeline that would show up before or in the release version, or is the current feature set pretty much it? Thanks.
3/20/2009 12:03 AM | # re: A guide to Silverlight 3 new features
Hey Tim,

Great stuff.i am just curious whether SL3 support Dataset or its just like SL2 i mean no dataset :(

there are third party components available to convert bytestream into dataset then why its not in the SL??
3/20/2009 12:07 AM | # re: A guide to Silverlight 3 new features
Akhilesh -- there is no data layer in Silverlight...but sure Silverlight supports DataSet as much as XML (as the DataSet would come to Silverlight via a web service). I'd have to ask though, why are you shipping a full DataSet in services?
3/20/2009 12:15 AM | # DirectX requirements for effects
Do the effects require DirectX on the client machine? Will they run on Mac/Linux?
3/20/2009 12:18 AM | # re: A guide to Silverlight 3 new features
darellp - no they do not require DirectX. Yes it will run on Mac. Linux -- Moonlight hasn't released Moonlight 2 (or 3) yet, so no Silverlight 2+ concepts will work on Linux yet.
3/20/2009 12:22 AM | # re: A guide to Silverlight 3 new features
Thanks for reply Tim.

So is it possible to bind a Silverlight datagrid to Dataset??

let say i have returnd a dataset from my webservice(for learning sake :)) and now i want to convert this dataset xml to a dataset in my silverlight app and bind it to a silverlight datagrid on my XAML page.

i did this using a third party component.
what could be the right way to achive this in SL3 ??

3/20/2009 4:38 AM | # re: A guide to Silverlight 3 new features
Very exciting - looking forward to working with this. An impressive feature set. Silverlight 2 was good, but it felt like a lot of things were missing.
3/20/2009 8:05 AM | # re: A guide to Silverlight 3 new features
Akhilesh -- if you are looking for an ADO.NET strongly typed experience in working with the DataSet, no -- we don't have ADO.NET on the client runtime. But if you have a service that returns a dataset, then it will be served as XML -- you can serialize that and parse it yourself was my point. Yes, not fun and a lot of work. My overall point was that DataSets are large and generally good for connected applications, but I don't believe to be a good choice for a type to return for a web service. When used in the web service you get no benefit for using a dataset because it is disconnected, etc. I'd consider refactoring your service into something much more lite weight.
3/20/2009 10:21 AM | # re: A guide to Silverlight 3 new features

Thank you for kindly answering our questions. I have one more question which may have been asked before. Is there any reason that make sense for not including native mouse wheel support? Even though the visual presentation of SL applications are great, usability is much more less than the controls we are used to consume.

Thank you again for your efforts.
3/20/2009 10:37 AM | # re: A guide to Silverlight 3 new features
I was disappointed to learn that there will be no game level 2D/3D support in Silverlight 3 even though Silverlight 3 internally takes advantage of advanced GPU capabilities.

I think this is a major mistake to not service the games market, as it has the ability to drive adoption far more effectively than feature to feature competition in existing domains.

The market for browser based games tied to social networking sites is very large, as is the market for social online content. Providing some sort of XNA support for in browser entertainment content would bring the quality of the products in this market closer to parity with traditionally distributed games, and would allow it to really take off.

Please consider opening up the 3D capabilities of the GPU and adding at least basic 3D capabilities in future Silverlight releases.
3/20/2009 8:04 PM | # re: A guide to Silverlight 3 new features
Donald -- which demo?

Ben -- check out the games forums at http://silverlight.net/forums/52.aspx to chat with other silverlight game developers.

Ufuk -- "native" mousewheel support is the question. Mouse wheel in browsers is actually a function of the browser, but we're looking into it. Right now we provide a helper class to do it.
3/20/2009 9:07 PM | # re: A guide to Silverlight 3 new features
This is just a stab in the dark but with the new intercommunication between silverlight apps and the silverlight to JavaScript function calls wouldnt it be possible to open a new window with a silverlight app that serves as a preview for print content and then actually call Javascript document.print()?

That would be printing support right? :-)
3/21/2009 12:07 AM | # re: A guide to Silverlight 3 new features
John - I think people want "print the XAML UI I see on the screen" support.
3/21/2009 2:47 AM | # re: A guide to Silverlight 3 new features
Silverlight 3 looks very promising. However, I agree with John - until there is integrated printing support and a Silverlight SQL ReportViewer, it really can't be considered seriously for LOB applications. I was surprised no one at Mix09 discussed printing or...lack of printing support in Silverlight 3.

Keep up the great work though. Thanks for all you do!
3/22/2009 5:16 PM | # re: A guide to Silverlight 3 new features
Tim, you show the CaretBrush then I remember that WPF has a VisualBrush, very helpful to do reflect effects. There is a possibility to introduce VisualBrush in Silverlight 3 (no workaround)?
3/22/2009 5:52 PM | # re: A guide to Silverlight 3 new features
Vitor -- I don't think VisualBrush is likely right now. There are other ways of getting reflect effects using perhaps a writable bitmap and ImageBrush.
3/22/2009 7:41 PM | # re: A guide to Silverlight 3 new features
3/22/2009 9:54 PM | # re: A guide to Silverlight 3 new features
Tim, can you provide more pointer on WriteableBitmap? I am trying to use it, and was able to read-from/write-to an empty WriteableBitmap, but it throws an exception on me if I try to read from one that was rendered (i.e. after the Render()) call. I believe it has something to do with security or IP, but there isn't any documentation. The example you cited -- doing red-eye correction -- would require the ability to read a WriteableBitmap that was populated from say a Jpeg image, similar to the sequence of operations I needed. I also just posted the question on Silverlight.net (http://silverlight.net/forums/t/82857.aspx) but no response yet (I know, I am perhaps a bit too eager to find out).
3/22/2009 10:16 PM | # re: A guide to Silverlight 3 new features

Can you provide us with a sample using SL 3 with ADO.NET Data Services ?
If there's something already available , please provide us a link.
Thanks in Advance
3/22/2009 10:44 PM | # re: A guide to Silverlight 3 new features
Danny, see if this helps -- if it doesn't, let me know: silverlight.net/.../adonetdataentities_cs.aspx -- there is nothing "new" for ADO.NET Data Services in SL3 (there is some new exception support in services which I'll write about soon).

Hardy - see if this helps: community.irritatedvowel.com/.../...bleBitmap.aspx
3/23/2009 12:03 AM | # re: A guide to Silverlight 3 new features

I have seen the article but the example starts from a blank WriteableBitmap rather than one that has been rendered into. I modified the source code to incorporate an additional Render() call and SL3 throws the same exception as the one I posted. Not sure what I did wrong. I'm continuing to try different experiments but in the meantime if you have additional insights or examples please let me know. Thanks!
3/23/2009 7:09 AM | # Downgrading Silverlight3 beta after install
After installing Silverlight3 beta, are we able to remove it and reinstall Silverlight 2?

I am preparing a .NET presentation in April and looking to see if I can install this on a work PC but be able to remove/downgrade to Silverlight2 for actual work (without having to reformat!).

3/23/2009 8:33 AM | # re: A guide to Silverlight 3 new features
Reuben -- yes, you'll have to uninstall anything Silverlight 3-related and then re-install the Silverlight 2 tools.
3/23/2009 9:15 AM | # re: A guide to Silverlight 3 new features
Does RIA Services use ADO.NET services unders the covers for its RESTful communications with the data tier? I assume it does but it was not specifically mentioned.

3/23/2009 9:21 AM | # re: A guide to Silverlight 3 new features
Michael -- right now it does yes use the similar service REST interface.
3/25/2009 12:11 AM | # re: A guide to Silverlight 3 new features
Hi Tim
Just wanted to share a thought about Reuben question.
Uninstalling Silverlight 2 will not downgrade the applications that were converted to silverlight 3 at the time of silverlight 3 installation.

so if i have to uninstall the SL3 and installign SL2 again then i have to downgrade the applications too.
to do this :
Open the .csproj or vbproj file in a text editor
<Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v3.0\Microsoft.Silverlight.CSharp.targets" Condition="" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v2.0\Microsoft.Silverlight.CSharp.targets" Condition="" />
(Thanks to author of blog: blogs.msdn.com/.../...-to-silverlight-2-tools.aspx)
3/26/2009 8:51 AM | # re: A guide to Silverlight 3 new features
Is there anything in the Silverlight 3 roadmap for supporting asymmetric encryption standards that are available on the desktop in the System.Security.Cryptography namespace? Specifically, I'm looking for RSACryptoServiceProvider. I was very disappointed that this wasn't in Silverlight 2.
3/27/2009 4:10 AM | # re: A guide to Silverlight 3 new features
Tim, please read this , blogs.microsoft.co.il/.../...the-bidi-textbox.aspx
he said :
"God knows why a solution that exists for over 15 years (the logical-visual solution for RTL languages) couldn’t be introduced into Silverlight"

So what are the plans for Right-To-Left support? its very important for middle east developers .
3/27/2009 8:32 AM | # re: A guide to Silverlight 3 new features
Tim - that's great news on the SEO. Now I can start properly evangelising to my clients.
3/30/2009 7:33 AM | # re: A guide to Silverlight 3 new features
Tim .. Hector was talking about the scrolly window where you showed how to hook up the NetworkChange event. It's empty so all we see is the horizontal scrollbar.
PS Looks like a nice set of new features.
4/1/2009 7:13 AM | # re: A guide to Silverlight 3 new features
Hi Tim, I see still no support for sockets over port 80. This is the port most would like to use if you could just add this support for 80 all would be good.

My server can handle either sockets or HTTP connections, so yeah I can get it to work in SilverLight. It's a simple matter that sockets reduce the load on the server. You have already opened up cross domain for HTTP and it's not like you are incurring any more security risks by allowing sockets connections over 80. Just require a socket cross domain file like flash and now Java 1.6 do.

My connection scheme is to use sockets if possible, else use HTTP. You can see it here:


4/1/2009 9:16 AM | # re: A guide to Silverlight 3 new features
Don this is something we are considering.
4/1/2009 12:52 PM | # re: A guide to Silverlight 3 new features
Where is the right-click context menu? How does one build a real app without this?

Improved stylesheet support? The current styling and themeing capabilities in SL2 are insanely unscalable and overly complicated.

Great progress. But these items are really critical.
4/1/2009 12:54 PM | # re: A guide to Silverlight 3 new features
Avi - no context menu customization in SL3 -- what's your scenario to have this...what user-functions do you put there?

Styling -- improvements here with merged dictionary support for better management, ability to change styles on during runtime, BasedOn styling, etc. Blend as a tool makes styling easy to do. What is meant by 'unscalable'?
4/5/2009 3:12 PM | # Grouping in silverlight 3
Hi Tim!
Do you have any tip or advice how to apply grouping in silverlight 3 datagrid?
I'm trying to learn how to use it, but I ws not able to find any documentation about this concept. Please, advice.
Thanks so much
Rachida Dukes
4/6/2009 2:05 PM | # re: A guide to Silverlight 3 new features
Hi Tim.
Sorry for the eventually stupid/redundant question, related to the Jon comment about "WebClient verbs besides GET and POST".
I have the actual problem of letting my Silverlight application to detect an update occurred on some content/resource previously downloaded by WebClient or WebRequest; in other words: I want to get a new version of a resource if it is updated on the web server, avoiding the browser cache to intercept my request returning something cached and... actually old.
I saw lots of people using the well-known trick of adding a dummy GUID parameter to the URL. But doing so, the requested resource is actually downloaded *every* time the request occurs, not only when a refresh is really needed. Also, the browser cache is filled of lots of almost identical items. And (event worse) if a CDN (like Akamai) is in the middle, it becomes almost unuseful in filtering reduntant request to the same identical and unmodified file to the origin website (because each request appear to be a new, unique request).
Then, in my opinion, the hack of the every-time-changed-URL-by-using-a-GUID basically quickly becomes unacceptable for serious applications.
The possibility to use a HEAD verb or actually force an IfModifiedSince header (something that seems impossible to do, due to the restrictions on the header manipulation) would be very very handy to check if a server resource needs to be re-downloaded! Then I think everyone is strongly hoping this will be possible in definitive version of Silverlight 3...
In the meanwhile, is there in Silverlight 2 something we can do to overcome this lack of functionality (but also being something smarter than the URL+GUID trick)?

Thank you in advance, AV
4/8/2009 8:29 PM | # re: A guide to Silverlight 3 new features
Rachida see blogs.msdn.com/.../...in-silverlight-datagrid.aspx (I had the same question :-))
4/9/2009 3:36 AM | # re: A guide to Silverlight 3 new features
Microphone support was a must required by alot of people including myself ,i think i switch back to flash .
4/10/2009 5:40 AM | # DataSet and SileverLight 3
We return DataSet in the WebService and it works fine, but I am wondering if it will work fine in SilverLight 3.
4/10/2009 9:16 AM | # re: A guide to Silverlight 3 new features
Mike -- my opinion is you shouldn't use DataSets for services -- the service is disconnected and you aren't getting benefit from using a DataSet really. That being said, ADO.NET is not a part of Silverlight so there is no DataSet object in Silverlight -- but you could still read the serialized XML if needed.
4/10/2009 10:34 AM | #  DataSet and SileverLight 3
DataSet is for disconnected data, as opposed to DataReader which is for connected data.

Our software makes heavy use of DataSet, which returnes any kind of list and/or other thing in DataSet, also it saves data using dataset. So reengineering does does not make sense for us. If we can use dataset, then we are able to use SilverLight.
4/10/2009 10:43 AM | # re: A guide to Silverlight 3 new features
Mike Yes I know DataSet can be a disconnected data representation, but I guess my point is that I'm assuming if I looked at the code for your DataSet usage it rips out a table, looks at rows, etc. So really, you're essentially trying to get at the row data, which is a representation of a type of some sort. If you have an investment in DataSet, I won't argue that you should try to throw that away. I'm merely saying that no, Silvelright does not know what a DataSet is. Will that change in the future? I don't know right now. But the nature of a Silverlight application a DataSet typically doesn't make sense over something like List<T> or implementing using entity framework, etc.

But the short answer to your question is: Yes you can use your DataSet data coming from your web service. But you will have to treat it as XML -- there is no DataSet object in the Silverlight runtime to deserialize back into. That doesn't mean the DataSet couldn't be used, just means Silverlight sees it as XML.
4/10/2009 7:39 PM | # Dataset
It is more than just looking at the rows of a table in a dataset... it is looking at the right rows. Rows that are marked by the rowstate and can be viewed. I feel the benefit of the dataset is the non-typed, diffgram dataset. I can use a couple of webservices such as
public DataSet GetData(string workflow, object[] params);
public DataSet SetData(string workflow, DataSet dataset);
(in web environment I use strings, and have my own jsDataSet object)
where workflow is the name of a server side config that an engine can use to dynamically generate datasets. Besides doing strong typed data objects our customers also want to get at the raw data for quick fixes. We have a single default.aspx AJAX page that can service an unlimited number of these datasets.
I have not seen whether SL3 can persist data to a xml-diffgram dataset like format... but it is much needed for the business community.
I have seen I think it is DevExpress that can do Anonymous types. That is a step in the right direction... something that MS should support.
4/10/2009 7:56 PM | # re: A guide to Silverlight 3 new features
Also, when getting data from the server the dataset is not large... as it is just xml. Returning a dataset diffgram to the server is just as large as it needs to be with added metadata describing the changes... with the benefit that I can save the to a file and use xml+xslt transforms to have other views of that data. Table and Column names do not have to be long. The query can shorter the xml like this:
string select="SELECT AReallyReallyLongColumn AS A1 FROM AReallyLongTableName"
da.Fill(select, "T", dataset)
with xml like <T><A1>actual data</A1></T> That is a small dataset. Just a bit bigger than whan I use JSON.
Just examples of course. This is just a 'tip of the iceberg' of what could be done with a generic non-typed dataset diffgram... I could go on...
4/10/2009 8:01 PM | # re: A guide to Silverlight 3 new features
Just in case you ask about columns names that would show up in a datagrid from a databound generic dataset... we have to have another query for that anyways as there are times that our customer may want to view them in another language such as Chinese. The get data query could do this but then the xml would get larger.
4/13/2009 10:47 AM | # Auto updating desktop SL when it's coming from machine name

Just want to let you know I'm having trouble getting my desktop application to update even if I use my machine name (instead of localhost) when running the web SL app to install it. I've tried localhost,, my machine name, and I've made an IIS application/vdir to try and remedy the issue - to no avail.

Hopefully this is fixed come release - which by the way, is that summer'ish 2009? We have a major project at work that would get delivered early 4Q this year and we're stuck on SL2 until we have an answer on release date...

4/13/2009 11:14 AM | # re: A guide to Silverlight 3 new features
Reuben -- when you look at the traffic does it show the new bits being delivered?
4/15/2009 12:22 PM | # 3D

I did an SL3 demo in Cleveland yesterday and it went well (I think).

Anyway, do you have any knowledge of when we might be able to pull down WPF's 3D support into SL - or why it isn't there already support if EnableGPUAcceleration is communicationg with directx/opengl?

Do you have any insight on the issues involved with doing true 3D in silverlight otherwise?
4/21/2009 8:01 AM | # re: A guide to Silverlight 3 new features
Hi Tim,

I am new to Silverlight and would like to know how the following can be achieved in Silverlight (current version).

I would like to push a new ad banner to the browser whenever there is a new event triggered in the application server e.g. every hour a different ad banner. Furthermore, can the same mechanism be used to push other rich media content (e.g. graphics, videos or flash content) to the client browser without refreshing the complete web page.

I am looking forward to your reply. Thanks a lot

Ka Lok
4/24/2009 9:05 AM | # re: A guide to Silverlight 3 new features
Silverlight 3 : Element to Element Binding dotnetdreamer.com/.../silverlight-3-element-to-...
4/24/2009 9:07 AM | # re: A guide to Silverlight 3 new features
Silverlight 3 Out of Browser applications.

4/28/2009 2:43 PM | # re: A guide to Silverlight 3 new features
I am not a Silverlight developer, but follow this closely as I am a Business Intelligence developer and we like all of the fancy charts, visualizations, etc. delivered via the web :)

So back to the question of right-click context menus. Many blogs and posts from those on the Silverlight team push back at the thought of providing support for right-click context menus because they need a good justification for them. My justification is that Business Intelligence applications should have the ability to a) choose the visual object they are interested in (e.g. a data point on a chart) where there may be several objects in close proximity (i.e. hovering will be problematic) and then b) taking action. This is where a context menu is useful. There may be several (dozens) of actions you may want to take based on that data point (e.g. open a web page, run an application, drill-through to a report, etc.) Some actions may have sub-actions that should be displayed as tree-like menu. As I said before, tool tips that display when you hover over an object won't let you "lock in" on the object the way a left-click/right-click combination can. Also, having a dedicated area of your canvas to display actions based on a left-click selection wastes precious screen real estate, which is scarce to begin with for BI applications.

Anyways, that is my justification :)
5/2/2009 8:00 PM | # re: A guide to Silverlight 3 new features
Wonderful stuff moving forward; looks great! Just curious if there are any plans to make embedding the SilverLight apps in an html page easy the way it currently is with Flash, or if the new detatched thing solves that? If you look at what it takes to add a Flash object to a static html page, versus adding a SilverLight object, it's obvious that Silverlight isn't really designed to be used that way. I think? Any advice in this area would be great.
5/3/2009 3:31 PM | # re: A guide to Silverlight 3 new features
Eric -- Silverlight is as easy to instantiate as Flash...all that is required is an <object> tag.
5/21/2009 4:55 AM | # re: A guide to Silverlight 3 new features
Any plans on supporting databases? My web app at http://www.ToolToMeet.com uses alot the isolated storage. It would prefer a database.
5/21/2009 9:04 AM | # re: A guide to Silverlight 3 new features
Ronald nothing in SIlverlight 3 from Microsoft. Silverlight can work with IsoStore, Gears, and some others are experimenting with small databases (db40)
5/21/2009 12:34 PM | # re: A guide to Silverlight 3 new features

Does the method NetworkInterface.GetIsNetworkAvailable() tell you if you're connected to the internet ?

Or does it just tell you if you're connected to a network ?

How can I find out if I'm connected to the internet in Silverlight 3. I can't find a Ping class.


5/21/2009 12:36 PM | # re: A guide to Silverlight 3 new features
Eoin it tells you if you have a non-local non-loopback connection. You are correct that if you need Internet verification you'll want to implement a best practice to do some type of URL/Ping/file check to see if you can get to the destination you need. Some people look for a simple text file and ensure the response is successful.
5/21/2009 1:02 PM | # re: A guide to Silverlight 3 new features
Thanks Tim :)
5/23/2009 7:07 AM | # re: A guide to Silverlight 3 new features
Hi Tim, addition to what Dave say about Silverlight 3 on non-Windows platfrom (especially on Linux) that we have Adobe AIR/Flex that already support Windows, Mac and Linux platfrom as their default options. All of the platform binaries are made by Adobe, so it will guarantee 100% same user experience on all platforms.

Different from Silverlight 3, that Microsoft only support Windows and Mac. The linux version is depends on Moonlight project that as you said before there's no Moonlight 2 or even 3 ready to be use, meaning, that there's no Silverlight 2 or 3 in Linux platform. The question is, until when we must wait?

Even I brag to our developer fellows about how great this Silverlight, There's no authentic proofs that makes us to decide on developing using Silverlight technologies and it leaved us with no choice than to let the project start by choosing on the Adobe AIR/Flex, just because one simple reason, no linux support ready!

Another consideration is, will Moonlight have 100% compatibility with others' platform binaries? It just like what we encounter today, that even all the latest browser support the latest Web 2.0 standard, Ajax, and so on, but all the browser have their own rendering engine behavior that there's no guarantee that we can develop one DHTML/javascript code that will rendered/behave equaly across all the browser. So there's no develop once, deploy everywhere experience here (not yet, and even it can't be proofed yet, since (again) there's no Moonlight 2 or 3) in contrast like what Adobe AIR/Flex offering to us.


5/23/2009 11:52 AM | # re: A guide to Silverlight 3 new features
Loekito -- is your application really needing to target Linux *clients*? Your data shows that you have enough Linux client users that support is a requirement?
5/23/2009 8:23 PM | # re: A guide to Silverlight 3 new features
Hi Tim, thanks for fast reply.

First of all, I have encountered with these Linux-things before (not exactly about Silverlight vs Adobe AIR/Flex). As a die-hard fans of .NET, I can't do much than switch to JAVA, just to create a small application to run on more than 100 industrial PC (small footprint PC, with limited memory, using Compact-Flash as it's storage, with stripped-down Linux OS with Java-enable) wired into satellite (VSAT) receiver. Mono is not mature enough at that time, (again) no choice!

Secondly, this is not really about the actual number of Linux client user. But somehow, it's more on our customer request (customer is the king, right?) and our marketing strategies/requirements. How we can win the tender, if our competitor said they can build multi-platform solutions, but ours limited only for Windows and Mac?


5/23/2009 8:56 PM | # re: A guide to Silverlight 3 new features
Loekito -- great point about more 'embedded' device type scenarios. I'm not sure what our plans are around embedded. As to marketing...you'll have to make that call with your product and do what is best for your company. I just always have to challenge when I see people complain about Linux support *from Microsoft*. I've got no problem with Linux, but I just don't see it that often as an end-user client machine for most scenarios (you bring up a decent one). I'd check to see if Flex/Flash are supported in the more embedded-Linux scenarios that you mentioned. I know on their mobile space it isn't the full Flash platform. You have valid concerns with your solution and should make the best decision for your product's goals. We work close with the Mono guys providing them information they required to deliver Moonlight. Their timing is a little slower than our releases, which does suck a bit, but they are working just as hard! Moonlight 2 is making great progress.
5/26/2009 8:12 AM | # re: A guide to Silverlight 3 new features
Hi Can any one please tell me what is the major differences between Silverlight 2.0 controls and Silverlight 3.0
5/28/2009 12:47 PM | # re: A guide to Silverlight 3 new features
Tim, is there any plans to support the ability to drag and drop external files into a Silverlight 3.0 application?
The main purpose for this is to remove the step of selection of files through an OpenFileDialog for purposes of Upload.
5/28/2009 2:57 PM | # re: A guide to Silverlight 3 new features
I just bought a new notebook and plan to install all tools necessary to develop SL3 apps. If I need to change my dev env to SL2, what is the process to uninstall the SL3 tools to ensure my system is "clean" enough to install SL2 dev tools?
5/28/2009 3:43 PM | # re: A guide to Silverlight 3 new features
Michael -- not for SL3.

Donavan -- check out http://tinyurl.com/slswitcher
6/15/2009 2:17 PM | # re: A guide to Silverlight 3 new features
Hi Tim, could you provide some info regarding asymmetric encryption classes being supported in Silverlight please?
6/19/2009 3:43 AM | # re: A guide to Silverlight 3 new features
Hi Tim,

Just been catching up on your blog - great work, thanks.

We expected to see proper 3D graphics support in Silverlight 3 and hope this just missed the cut rather and will be in the next release. Mic support and speech recognition would nail it for us.

6/19/2009 6:23 AM | # re: A guide to Silverlight 3 new features
Hi Tim,

Thanks for a great article. I am curious about the new local font support. Will I be able to access all of the fonts on the user's machine? For example, will I be able to check to see if Segoe UI is present and if so, use it without having to embed it in my application?

6/19/2009 7:30 AM | # re: A guide to Silverlight 3 new features
Al -- the local font support is a whitelist of fonts...and Segoe isn't one of them :-(
6/19/2009 10:58 AM | # re: A guide to Silverlight 3 new features
Hi Tim,

Thanks for the quick response. Is this the same list of 9 fonts that are listed on MSDN? (http://msdn.microsoft.com/en-us/library/cc189010(VS.95).aspx) If so, how is this new feature different from Silverlight 2? (Please keep in mind I am just starting with Silverlight.)

6/19/2009 11:32 AM | # re: A guide to Silverlight 3 new features
Al -- the current whitelist is similar, yes. The feature is different because if you utilize the feature (which you'd have to using code), it would use the *machines* font rather than the font provided by the plugin. Honestly, the naming of this feature is less than desirable. In 99% of cases, I don't envision people taking advantage of it currently.
6/19/2009 11:41 AM | # re: A guide to Silverlight 3 new features
Got it. Thanks again for all of your help.
6/24/2009 2:42 PM | # External Objects
Hi Tim, do you think its at all possible to drag an external object into a silverlight app? Trying to make my silverlight app consume a contact I am dragging from outlook.

6/29/2009 7:39 AM | # re: A guide to Silverlight 3 new features
Hi Tim,

A quick question following on from Al's comment on local font support (apologies if this isn't the best place to ask... I've googled lots and can't find a definitive answer).

Do you think it is an option to use Segoe UI in a commercial Silverlight 3 application? I'm designing the interface for a large scale enterprise app and had hoped to do as Al suggested, i.e. embed Segoe UI but check first whether it is installed locally (which it will be increasingly on Windows machines), using the local version if possible.

Technically it sounds like this shouldn't be a problem. However, I expect the issue to be with the licensing of the Segoe UI font and not being allowed to use it as an embedded font in an application that might be installed on customers' servers.

Do you know if this is definitely the case? Any links or official info on this would be gratefully received.

Thanks for your help,

6/29/2009 4:01 PM | # re: A guide to Silverlight 3 new features
I believe Out of Browser Application is lacking one important future, if it is there; we can offer better futures to users.

The future I am looking is to put my Out Of Browse application in Notification Area (Tray Icon). Especially when user minimizes my Out of Browser applications it should keep one ICON in Notification Area. Once he gets some alert or To-Do operation, it will show one “Notification Window” (like Outlook New Mail Notification Window).

Is it possible to add this kind of future in Silverlight..!
6/29/2009 4:48 PM | # re: A guide to Silverlight 3 new features
nmreddy -- it's a good feature request and one that is already being discussed as an option for futures.
7/5/2009 11:55 PM | # re: A guide to Silverlight 3 new features
any plans for udp support in silverlight 4.0 ? is it in the priority list which microsoft maintains ?
7/7/2009 7:08 AM | # re: A guide to Silverlight 3 new features
Why RTL support is not implemented, and I don't get why MS is ignoring it even it could be an advantage vs ADOBE FLASH...
I really did expect much more attention to this issue... without that silverlight is useless in ME Countries...
7/10/2009 3:08 AM | # re: A guide to Silverlight 3 new features
So the next version of Silverlight will not play HE-AAC with full quality...But why?
Maybe this "limitation" is related to developer rights over the code of HE-AAC?

We fell that WMA 10 Pro at 32 kbps is barely sufficient for Hi-Quality modern radio transmissions over the net and of course below HE-AAC at that bitrate...Fortunatelly that scenario change dramatically when the bitrate goes up because in fact at 48 kbps both codecs are equal and at 64 kbps WMA10 Pro is even better.

Sorry for my english (is not my native lenguage)
7/10/2009 8:17 AM | # re: A guide to Silverlight 3 new features
Hi Tim,

Great work getting Silverlight 3 out the door! I am glad to see the list of supported local fonts was expanded to include Segoe UI and Tahoma.

7/13/2009 8:00 AM | # re: A guide to Silverlight 3 new features
Where can I find the Silverlight.3.0_developer.exe download?
7/13/2009 1:55 PM | # re: A guide to Silverlight 3 new features
Like bennyb Said,

Where can I find the Silverlight.3.0_developer.exe download?
7/13/2009 5:40 PM | # re: A guide to Silverlight 3 new features
BennyB/jsp3536: if you install the silverlight tools for visual studio, this gets installed for you. If you need the developer runtime (for offline download or other reasons) -- see the link at timheuer.com/.../...d-what-is-new-and-changed.aspx
7/14/2009 1:44 AM | # re: A guide to Silverlight 3 new features
Nice post - thanks.
You mention a new Bitmap API. Does this mean I can compress images a user has selected from their hard-disk, before uploading them to my server?
7/14/2009 7:42 AM | # re: A guide to Silverlight 3 new features
Marc -- no it is not a GDI level API like that.
7/15/2009 6:20 PM | # re: A guide to Silverlight 3 new features
I agree with Avi and Kory about context menus being an essential feature. The single remaining roadblock that prevents my company from adopting Silverlight for LOB apps is the lack of support for context menus.

I'm guessing the design philosophy behind the decision not to support context menus is that web pages (typically) and Macs don't employ them. Now my take on this is that I won't code a sophisticated LOB app for the Mac or a as a website either. For Macs you could always use a "Special Key + click" combo to pop up a context menu.

7/17/2009 10:30 PM | # re: A guide to Silverlight 3 new features
Re: the resize/compress of an image... There's an open source C# project called FJCore that intends to do that. The current resize filter isn't very memory efficient, but it does work. It's pure C#, so it doesn't depend on any non-Silverlight class libraries.

Still, it'd be nice if this was already baked in, or in the tool kit.
7/20/2009 8:30 PM | # re: A guide to Silverlight 3 new features
silver light has no future and the silver light team has failed for last year+ to make this tool comprehensible. Hey Tim, how';s that application corner? You haven't done jack shit for nearly a year, still on step 1. Die SL, DIE
7/20/2009 8:59 PM | # re: A guide to Silverlight 3 new features
no name -- I'm sure I know who you are ;-) -- you're correct. I've been derailed by other things to focus on the app corner. In hindsight I should have had more of a plan but still could not have forseen things that happen organizationally. I assure you I haven't been sitting around for a year ;-). Thanks for the feedback and remaining anonymous.
7/21/2009 7:27 AM | # re: A guide to Silverlight 3 new features
As You Said :
"your application will show default validation UI which you can change/customize if you’d like"

I'm Using SilverlightRTL project Custom Controls now . (For Right To Left Issue in Arabic or Persian Language exactly)

I want to Customize Validation UI Template (using other Colors and Textblock ) .
How can i do it ? Please leave to me a sample .
7/21/2009 8:47 AM | # re: A guide to Silverlight 3 new features
Oh, I found Validation UI (Tooltip) Template Customization in This URL :
Thanks .
7/30/2009 12:23 PM | # re: A guide to Silverlight 3 new features

Are ADO.NET Data Services Supported in Out Of Browser Applications, hence since there's no HTML DOM Bridge Available.

Best Regards.
8/21/2009 12:33 AM | # re: A guide to Silverlight 3 new features

if anybody know how to bind the data to silverlight3 treeview control using sqlserver
9/7/2009 2:27 AM | # BMP Support in Silverlight 3
Hi Tim!

Does Silverlight 3 support BMP image formats? SL 2 supported only JPG and PNG. Thanks!
9/7/2009 9:32 PM | # re: A guide to Silverlight 3 new features
Chandra - no BMP direct support is provided but you can build your own extension. See blogs.msdn.com/.../added-bmp-decoder.aspx
9/11/2009 9:58 AM | # re: A guide to Silverlight 3 new features
Hi Tim,

Is there any support for displaying .wmf/.gif/.bmp images in silverlight 3.0 Image control? If yes, can you please give me a guideline on how may i do it? Thank you.
9/11/2009 10:23 AM | # re: A guide to Silverlight 3 new features
reezvi - not directly see the link directly above your comment.
12/11/2009 5:11 AM | # re: A guide to Silverlight 3 new features
Hi Tim,

Great work man!!

1. Is there any API in silverlight 3 which I can use for WebCam?
12/11/2009 9:03 AM | # re: A guide to Silverlight 3 new features
Prady - there is no webcam access in Silverlight 3.
12/28/2009 10:20 PM | # re: A guide to Silverlight 3 new features
Hi! im not speak so much english, but i'll try to ask u something. Im starting in my project to compete in the imagine cup, in game design. the technology that i use is Silverlight, i think that you are the best person to help me. I'm venezuelan. Mi question, all my questions are based in "how to conect my silverlight aplication to my database" i have a database (sql) and i dont know how to conect both. Saludos... Bye!!
5/11/2010 11:21 PM | # finance
Free Reciprocal Web Directory - Paid and Reciprocal human edited web directory.
5/26/2010 6:58 PM | # re: A guide to Silverlight 3 new features
hi timheuer. iam new to silverlight.iam working on charts in silverlight 3.i have many data points to plot.but when ploting iam all the data points are merged.i want to enable a scrollbar for them please help me in enabling scrollbar for chartingtoolkit.
6/29/2010 2:54 PM | # re: A guide to Silverlight 3 new features
Hi Tim,

Do you know if Silverlight 3.0 provides support for non US-Keyboards? I am trying to use the SIP and provide support for multiple languages including Chinese and Japanese. Currently SL 2.0 only supports US-keyboard and so the SIP doesn't work with other languages.

11/12/2010 2:20 AM | # re: A guide to Silverlight 3 new features
Hey your posts always help me, I'm a beginner so I need all the help I can get. Thanks for the details. Yours and other blogs like this are really great for us starters. wholesale jewelry
11/22/2010 4:34 AM | # re: A guide to Silverlight 3 new features
Thanks a lot. Your work has always been helpful for me and I really like to hang around here to learn. My first ventures into SL were here and since then you always give me more. I have silverlight 4 and I love it. Much more stable than the previous versions. URLdreamer affiliate
12/1/2010 7:21 AM | # re: A guide to Silverlight 3 new features
Wonderful post thanks really for this. I didn't quite understand the above comment about 3 dev machine but anyways, I'm new to this and have installed SL 4 to start off learning. And I must say you really help me out by your posts and tutorials. website development
12/20/2010 5:14 AM | # re: A guide to Silverlight 3 new features
After pressure from my boss to get my CCNP certification, I finally decided it was time. Working full time and taking care of my family already took up all my time so I needed to find the most efficient solution. Their customer service was prompt and professional and I passed all my CCNP exams. I would surely recommend to my colleagues.70-663 70-680 70-685 The Practice Exams that I purchased from Pass-Guaranteed do a Great Job of creating a real test experience. I prepared myself using the CCNA 640-802 Testing Engine and I passed the exam on my first try! Great work.
12/22/2010 12:03 AM | # re: A guide to Silverlight 3 new features
me again disturbing "Just wanted to share a thought about Reuben question.
Uninstalling Silverlight 2 will not downgrade the applications that were converted to silverlight 3 at the time of silverlight 3 installation.testking 70-648so if i have to uninstall the SL3 and installign SL2 again then i have to downgrade the applications too.
to do this :testking 70-643 Open the .csproj or vbproj file in a text editor
<Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v3.0\Microsoft.Silverlight.CSharp.targets" Condition="" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v2.0\Microsoft.Silverlight.CSharp.targets" Condition="" /> "
2/19/2011 6:51 AM | # MarinaLia
I know I could trigger a new browser window to open with a reporting services report downloading to pdf or similar. But that will be confusing as well as require extra steps for the user and additional download from server. san jose domestic violence attorney

2/24/2011 9:37 PM | # re: A guide to Silverlight 3 new features
did u know any links that has exercises or practices i dont want videos friend because my internet is very slow better please give me more practice links or some links that has examples for how to use java script in silverlight 3 and many new features in silverlight 3 the link provided by you is very use full please send me more links that doesn't has videos that suits to my internet connection.
cheap raymond weil watches
2/25/2011 11:42 AM | # Off line installs fail

(silverlight3_tools.exe /x) and then copy the downloaded developer runtime (Silverlight.3.0_developer.exe) in that directory,
2/25/2011 12:01 PM | # re: A guide to Silverlight 3 new features

I have XP sp3, vs2008 sp1 and I am behind a firewall. I am following Time Heuer advice from NOTEs about how to download and install behind a firewall.

I am following the steps but when I try and run SPInstaller it still trys to download from the internet. Does any one know how I can get SPInstaller just to look at the local files?
3/5/2011 12:55 PM | # re: A guide to Silverlight 3 new features
Lovely site and lovely post värdera bostadsrätt .
4/13/2011 6:31 AM | # re: A guide to Silverlight 3 new features
Using the login facility on the website is which pretty good solution to "closer" the website owner with the surfers. So that surfers will get some advantage by signing up as members, and owners can also find out how many active members of their website. Professional SEO Services in Russia
5/13/2011 10:04 AM | # re: A guide to Silverlight 3 new features
I remember that Silverlight 3 had some nice new improvements that were really good. I'm currently also on on a ferienparks urlaub where I met some Microsoft developers who said that the new Silverlight update will be coming soon. I already look forward to it.
7/1/2011 1:36 AM | # re: A guide to Silverlight 3 new features
I have seen many information related with the roll out of this movie and this should have been something like that as well. I do hope there are great situation attached to it and this is something we can do to improve the real. cleveland office cleaning
7/28/2011 9:49 AM | # re: A guide to Silverlight 3 new features
People can have any information and updates related with digital music from this website. I do appreciate the efforts of people behind this website to keep continue in giving any information related with digital music from many sources.
Abilene Roofing Contractors
9/11/2011 6:58 AM | # re: A guide to Silverlight 3 new features
I am new to Microsoft Silverlight, and for beginners all of the resources over this pages are very help ful. I totally understood the MicroSoft Silverlight by just following all guides given on this page. First of all i tried to understand silverlight by following its Silverlight Guides over the official website but its much hard to understand their while on this page i have found more detailed and easy to understand video guides for beginners. I would prefer all new developers to have a look over all the guides available in this page. For sure they will love it.
9/25/2011 11:50 PM | # re: A guide to Silverlight 3 new features
Team coordination is best in every organization..I am very glad to see coordination between superior and subordinates..
seiko chronograph
4/12/2012 7:57 AM | # re: A guide to Silverlight 3 new features
thanks for the info! I hope silverlight gets better! website design utah
10/2/2012 4:41 AM | # re: A guide to Silverlight 3 new features
I am very happy to find this blog. Thanks for creating the page! Im positive that it will be very popular. It has good and valuable content which is very rare these days. Durabase CI Matting

Please add 8 and 6 and type the answer here:


The opinions/content expressed on this blog are provided "ASIS" with no warranties and are my own personal opinions/content (unless otherwise noted) and do not represent my employer's view in any way.