MIX 10: Silverlight 4 Business Applications

Another talk, another blog post.  As you can see, my blog posts are like my babies… in the fact that they apparently take 9 months to make.  I’ll see if I can’t speed things up next time, but we’ll see.

For all of you who came to MIX, and those who are just interested in what Silverlight 4 has done for business applications, below is the content from my MIX talk. 

The talk was a lot of fun, and my apologies to anyone who got turned away at the door because the room was packed.


You can find a recording of the talk here: http://live.visitmix.com/MIX10/Sessions/CL08 


For those of you who want to follow along at home, here are the files for the demos that I showed in my presentation.

What you’ll need

All demos were done using the free MIX10 Silverlight 4 RC bits and accompanying tools:

These include

The installation instructions for all of the above and other SL4 tools can be found here: http://silverlight.net/getstarted/silverlight-4/


You can download the samples and snippets here: http://cid-e7a27f7920b66c3f.office.live.com/self.aspx/Downloads/MIX10%5E_CL08.zip?lc=1033 http://drop.io/MIX10CL08/asset/mix10-cl08-zip


Building and Running Either the Final or Start Project

  1. If you are getting a “Visual Studio Project Sample Loading Error” it is because you need to unblock the zip file.  Directions on how to do that can be found here
  2. The dlls for any broken References can be found in the Project’s Lib directory
  3. There are a few known issues that you might run into that have been fixed in later bits

Recreating the Project From the Start Folder

  1. If your DataSources window is empty, try building
  2. The Toolkit dlls are included to allow the sample to run and shouldn’t be used outside of the sample.  The fully supported dlls will be shipping in the next Toolkit drop which ships alongside Silverlight 4 RTW.
  3. The designer files for the Toolkit were not included in the project, so the Charting section is likely to not work as smoothly as in the video.  As mentioned when the supported Toolkit is used such issues will not be present.


You can download the slides here


What we covered:

We covered an huge amount of content but we still didn’t even cover all of the new features for LOB in Silverlight 4.

Displaying data

  • WCF .NET RIA Services
  • Data Sources Window
  • DataGrid Column Editor
  • Binding enhancements
  • DataGrid enhancements
  • DataForm
  • Sorting
  • Grouping
  • Charts

Professional look and feel

  • ICommand
  • Right-Click
  • Context Menu *
  • Implicit Styles
  • Theme switching *
  • Mouse wheel support in list controls

Getting user input

  • Webcam
  • Drag & Drop

Validating user input

  • INotifyDataErrorInfo
  • Cross-field Validation
  • Async Validation

Saving data and sharing it

  • Clipboard
  • Printing

* Coming in the next drop of the Toolkit

Comments (17)

  1. nicolaspei says:

    Hi Scott,

    I tried to download your code but there is nothing..

    Did your link is accessble ?

    Anyone has downlaoded the sourcecode?

    [link snipped]

  2. BenHayat says:

    Scott, I’m having the same download problem. Nothing downloads!


  3. James N says:

    When is the next drop of the toolkit?

  4. BenHayat says:

    Seems like the zip file has a zero size.

  5. Ben, nicolaspei:

    Thanks for the heads up on the download issues.  It looks like I exceeded my bandwidth limit so I have moved the download to a mirror site. (Updated download link is in the post)



    The next drop of the Toolkit will drop with Silverlight 4 RTW.


    – Scott

  6. Trees says:

    Hey Scott, Great talk – tyvm!

    I have a couple of questions if you get a moment to look at these

    1 – at around 4:00 in the talk you mentioned exception based validation in sl3 and data error interface in sl4 – since wp7 is based on sl3+somestuff, do you know which handling made it onto the phone?

    2 – at around 23:00 in the talk you were talking about new theming uri feature avoiding the need to reparent etc – you mentioned this is in a coming release – is that sl4 or a subsequent release please?

    3 – at around 39:00 you demoed async validation – i wondered if complications can arise here if the response is delayed and the user tries to save before this validation is completed? I suppose you might suggest this is handled with synchronous server side validation if there are not inbuilt smarts on the client for the pending async call.

    I was curious about the printing mechanics so am checking out your source (ty!)… I was wondering what the mechanic is that controls are there more pages to come. I thought it was quite clever how you implemented

    e.HasMorePages = appt.Prescriptions != null && document.PrintedPageCount < appt.Prescriptions.Count;


    DataContext = appt.Prescriptions.ElementAt(document.PrintedPageCount – 1)

    It took me a minute to get my head around how it was working.

    Thanks again for the great talk. Very informative. I went looking for the voting on the site like the keynotes, but nothing there for the breakouts by the looks – anyway, im sure you got great feedback from attendees!

  7. nicolaspei says:

    Hi Scott,

    Thanks for your update. Thanks again.


  8. Hi Trees,

    Thanks for the heads up.  The download has been updated to include all of the necessary dlls.  Please see the notes section however to see the limitations.

    As far as your questions:

    1. The new Silverlight 4 binding work was not part of the SL3+ work that made it into the phone, so for now expect a Silverlight 3 validation experience.

    2. The ThemeUri feature is part of the next drop of the Silverlight Toolkit which you can expect when SL4 RTW ships.

    3. There are a few ways that you can do this, one of which is adding an additional property to your object to indicate that a validation is in progress.  You can then check this property in your application and not allow a commit until it is no longer busy.  We have discussed having an interface that standardizes this process, but for SL4 you will have to do it yourself.

    As far as controlling if there are more pages, it is up to the app author since every application is different.  For instance, the PageSize property that is exposed can be used for pagination scenarios if you have a long list of items.

    – Scott

  9. Trees says:

    Awesome, thanks again!

  10. James N says:

    Is the toolkit still going to drop on Thursday (Silverlight RTM)??

  11. Rady Poe says:

    You've had a very nice talk .. now you're my 2nd spokesman after Scott Hanselman. Joy, passion and … I believe a lot of preparation!

    I only have a suggestion: please specify in your article that the database used is ONLY in the final application from zip file, otherwise the ones using the start one wouldn't know where the database is.

    Best regards,


    Microsoft Student Partner, Germany

  12. samanf says:

    Hi Scott,

    A nice presentation and sample.

    I tried to run the finished application and got the following errors. I added the required assembly references and still getting the same errors. Any help is really appreciated.

    Error 26 The type or namespace name 'Chart' could not be found (are you missing a using directive or an assembly reference?) MIX10_CL08MIX10_CL08MIX10_CL08FinishedMIX_CL08MIX_CL08objDebugViewsHome.g.i.cs 82 18 MIX_CL08

    Error 1 The type or namespace name 'Theme' could not be found (are you missing a using directive or an assembly reference?) MIX10_CL08MIX10_CL08MIX10_CL08FinishedMIX_CL08MIX_CL08objDebugMainPage.g.i.cs 40 18 MIX_CL08



  13. fred says:

    Hi, I have a problem with the version of the database, the program can't load it and tell me that the current version of the database is 655 and my system can support only 612.

    What kind of database is it ?



  14. ben says:

    Hi Scott,

    i have seen your presentation and sample, i think is is very fantastic. However, can you show an example how one can use your sample  with MVVM or Prism. I have been having difficulty with the issue.

    Secondly how can one display combobox with DataForm—- say categories in a product form.

    Kind Regrds


  15. Alejandro Botero says:

    Hi Scott,

    Nice presentation!!,

    Can you post a direct download of the sample code?.

    Drop.io server reached the limit downloads.


  16. I have updated the download link so it should be up and running again.

    For those of you who are having trouble building – please be sure to replace all broken references, and make sure to Unblock all files.



Skip to main content