Browsed by
Tag: Silverlight 4

Review of TechEd PreCon: “Microsoft Silverlight Inside and Out” by Jeff Prosise

Review of TechEd PreCon: “Microsoft Silverlight Inside and Out” by Jeff Prosise

I attended the terrific “PRC03 Microsoft Silverlight Inside and Out” presented by Jeff Prosise.  The session was packed with a good background on Silverlight development and a bunch of great tips, tricks and samples.  Some of my favorites were:

Dynamic XAP Loading: you can break apart your xap file into pieces to allow for faster load because you aren’t loading all of your assemblise on initial load of your silverlight app.  You have the ability to do the initial load and only call to the secondary xap files when the assemblies are needed.

Automatic Out-of-browser updates: In only a few lines of code you can have your Silverlight OOB app check to see if there are any updates to the app and install them automatically.  A notification can be thrown to alert the user that a new version has been installed and that they need to close and reopen the app to get the new version to run.

Client HTTP Stack: Silverlight has the ability to us the OS stack, rather than just the browser stack to give you information, such as errors.

External URIs:  Using some samples that Jeff has, located on, that allow you to implement calling external URIs rather than ones that are only inside of your solution.

Some of the cool new features available in this release of the Silverlight 5 beta:

Style Data Binding: the xaml version of CSS.  Allows you to do dynamic theming easily.

Data Binding Debugging (aka: XAML Debugging): you now get the ability to put break points in your xaml and debug the same way you can with C#.  Right now it only works with binding expressions, but keep your fingers crossed that they will expand on this dramatically as the beta rolls on.  This demo got a much deserved round of applause.

Trusted Applications in Browser:  All of the goodness of trusted applications that was only accessible in the OOB experience is now available IN Browser!

Trusted Application Out-of-browser enhancements: You can now access the file system completely.  Not just the user’s “My Documents” folder, but the ENTIRE file system.  As an Operations guy this scares me a bit, but it is an ever changing world.

RichTextBoxOverflow:  This allows you to have a better text box experience where, in this particular demo, putting a richtextbox and a richtextboxoverflow in a horizonal scenario Jeff was able to increase the space between characters and show how the text flowed seamlessly from one text box into the next.

Some cool things still to come in the Silverlight 5 beta:

WS-Trust support for services
64-bit support for the plugin
COM interop for trusted in-browser applications
P/Invoke for trusted applications
PivotViewer control improvements and distributed in the SDK

I am skipping a ton of cool stuff that Jeff showed us, but visit his blog where you can read about most of this and much, much more at  I didn’t even touch on any of the Windows Phone 7 goodness that he talked about.

This was my first time attending a TechEd PreCon, and I will definitely be back.  Would have been a terrific value at twice the price.  This level of data dump in a single day is rare, I hope to live up to this standard SharePoint Connections Coast to Coast next week when Corne and I give our “SharePoint Collaboration Bootcamp” PreCon!

SPFLogger–A whole new way to look at SharePoint 2010 Logs

SPFLogger–A whole new way to look at SharePoint 2010 Logs

One of the most amazing, and little talked about, features of SharePoint 2010 is its new logging database and the power that comes along with it.  About 4 months ago I noticed a gap in the market and started talking to 2 friends of mine, David Feldman and Cornelius J. van Dyk, making the statement “I think that this would make for a really neat winforms app.”  After some brain storming we decided to take the idea a different direction and use Silverlight 4 RIA Services.

The tool in its initial beta offering is fairly simple, yet elegant.  It gives the user a very concise view of their NTEvent Logs, ULS Logs, and Timer Job Logs.  Rather than having to write T-SQL against the Logging Database’s views, we provide an easy to use Silverlight interface to quickly and easily view the log entries, complete with filtering and some basic analytics for NTEvent Logs and Timer Job Logs.

This was my first foray into development and coding, as almost all of my career in technology has been spent on the ServerOperationsArchitecture site of the world, and this was an eye opening and career life changing experience.  I got to work with 2 of my very good friends on a project that I am very passionate about, and I have been overly supported by my amazing, wonderful, beautiful, and ever patience wife, Jill, and my 2 amazing boys, Max & Sam, as I have dedicated my every waking free moment to this project.

Tonight, after 4 long months, I clicked the button to release SPFLogger to the CodePlex community.  Please go check it out and give us feedback so that we can continue to grow and evolve this into something great.  It is currently licensed under a dual license which allows for personal use under GPL version 2.0 and a custom license for commercial and closed source applications.  Basically we wanted to keep people from using our code to make money without giving some to us, but we want people to be able to use it!

The link is  We really hope that you love this tool as much as we do.


Silverlight with RIA Services GroupBy in a DataGrid

Silverlight with RIA Services GroupBy in a DataGrid

There are lots of examples for Silverlight 3 and before when System.ComponentModel was directly accessible, however in Silverlight 4 with RIA Services none of those patterns work.  We looked at the sample videos, some great blogs by Tim Heuer and others, and even looked at the most recent Silverlight Toolkit but had no luck.

After an hour or searching for the proper way to do grouping in a DataGrid in Silverlight 4 with RIA Services we found that it is really very simple:

1.) Open Domain Data Source

2.) Under Other: add GroupDescriptors

3.) Add the PropertyPath to your desired GroupBy

Thanks to my good friend, Dave Feldman, for helping to figure this out.