TechDays 2008: Silverlight Samurai Skills

Tech Days CanadaThanks to everyone who came out to my Silverlight Samurai Skills presentations this morning in Toronto, and to Microsoft Canada for inviting me to present at this event. When the Canadian team does events, they do them really big – and really well!

I hope you found the sessions useful and engaging.  They certainly provided a lap around a whole lot of the core features in Silverlight 2. I promised to provide code and links so you can follow-up, get connected with the community, and find out more.

The Code

As promised, click here for all the source code from the presentation, including start, end-of-part-one, and completed versions. Import the .vssettings file into Visual Studio to get the code snippets.

I’ll post the slide decks soon – I’ve been asked to hold off a little bit on those.

The Links

Note – this list is far from exhaustive, it just points to some things I’ve found really helpful.

Silverlight.NET – Get Started section has all the bits you need

Additional Silverlight Controls and Themes

Silverlight Toolkit (Microsoft, MS-PL)
Silverlight Contrib
(Third-party, MS-PL)
see also
Blacklight, which comes from the Patient Journey Demonstrator


Silverlight Layout Fundamentals (DevDave)

VisualStateManager, Parts and State Model

Parts and States Model with VSM (scorbs, 4-part series)


IsolatedStorage quickstart (wildermuth)

Browser DOM Integration

Forward-Back Browser Integration (webjak)

More Links [update 12 Nov]

Qixing and Laurent have also put together a FAQ based on feedback from the Montreal version of Silverlight Samurai Skills.

The P.S.

My consultancy, Carrington Technologies, specializes in Silverlight and WPF consulting and training, and we’re based out of Toronto. If you’re interested in finding out more, please drop me a line via the contact page, or through rob at robburke dot not.

p.p.s. Silverlight Streaming has now been updated to Silverlight 2 RTW, so the Deep Zoom FractLOL should now work. [Updated November 2nd]

final p.s. [update] I am greatly indebted to Microsoft’s Mark Rideout, whose excellent TechEd 2008 session on Silverlight 2 formed the basis for the core demo I used in these sessions. I’ve updated his demo to highlight some of the features added to Silverlight 2 between Beta 2 and RTW (including additions to the IsolatedStorage API, and an allegedly more compliant browser history implementation).

Learn WPF by example (a recipe)

Ever wonder how the experts build clever things into their WPF applications? Here’s one way to find out which uses a few of my favourite tools for building WPF and Silverlight apps.

Required Ingredients:

1. Snoop, an excellent utility that lets you visualize and probe a running WPF application.

2. Lutz’s tried and true Reflector utility, which lets you view, navigate, search, decompile and analyze .NET assemblies in C#, Visual Basic and IL.

3. A WPF application that you’d like to learn from. For example, Expression Blend 2, which is used for making WPF applications and was also made with WPF itself. (More examples follow :) )


0. Add the assemblies (.DLL and .EXE files) from the interesting WPF application into Lutz’s Reflector.

1. Run the WPF application that you’d like to learn from. As an example, run Expression Blend, and ponder how they make those nice search textboxes with the word “Search” greyed out behind your text. (I know, they’re actually pretty simple – this is just an example)

2. Run Snoop to peer in on the WPF process. In this case, Blend itself.

3. Hold down Ctrl-Shift while mousing over the element that you’d like to learn about. In this example, discover with Snoop that what you’re looking for here is a custom control of Type OverlayTextBox.

4. In Reflector, look up the Type you’d like to better understand. In this example, just search for OverlayTextBox, and discover it’s a TextBox with a few extra DependencyProperties and Methods.

5. Learn by expert example.

Here are some other apps you might want to spelunk using this technique. For these two, the source is also available, which can make for an even more thorough investigation.

Kevin Moore’s WPF Bag of Tricks – an expertly-constructed set of samples from Kevin Moore, a former member of the WPF team.

Avalon Healthcare Monitoring Demo – the medical dashboard demo I showed at the O# VS2008 at the Movies Event. Built in the WPF 3.0 era but still an excellent learning resource.

WPF Training

Speaking of learning WPF: you may be interested in the hands-on WPF training course offered through my consultancy, Carrington Technologies. Please see here for more information.

WPF Training Course

Great White North

I’m back in Canada. I’ve gone from 28 degrees and kitesurfing to -2 and this:

Snowy Canada - kitesurfing anyone?

…Kitesurfing, anyone?

In addition to snow, life here already involves code and consulting. So, after being quite involved with the developer community in Ireland, I’m looking forward to attending my first Canadian .NET Usergroup meeting tomorrow night.

I’m in the middle of an overhaul of my site’s look and feel, and would value your thoughts and feedback. Hopefully you’ll find it easier to find what you’re after.

IIA and Enterprise Ireland Net Visionaries Awards

IIA Net Visionary AwardsI have long suspected that the Irish are mad, and now I have proof.

At some point during the National Productivity Centre crunch time, I received a mail from Irene Dehaene, informing me that I’d been nominated for the Best Blogger award at the IIA and Enterprise Ireland Net Visionary awards next month. 

I was overwhelmed, and remain extremely grateful to the person or people who nominated me.  It is tremendously gratifying to know that while I was living in Dublin, stumbling to keep with a finger on the tech scene pulse and keep developers informed and enthused about what was coming down the pipe, someone was listening and appreciating what I had to say.  It’s an honour to be recognized for that.

But I’m not the best blogger in Ireland.  I have incontrovertible proof of this fact: I’m currently in Canada.  In fact, I’m in Windsor, which some of you may know as the town across the border from Detroit where, according to Michael Moore, nobody locks their doors.

Since Twenty Major is incomprehensibly not on the shortlist, and Podge and Rodge aren’t yet blogging, I don’t have a candidate I can wholeheartedly throw my voting weight behind.  So I wish the very best to all the candidates and, again, am very grateful for the honour. 

And I hope that those who are still answering Ireland’s Call keep reading — I now have the new and hopefully interesting perspective of being a globetrotting Canadian, now an independent IT consultant, who had the good fortune of living and working in Ireland for 6 years. 

And, believe me, the “6 years living and working in Ireland” bit makes for some amazing story value back here in Canada.

Right.  I’m off to Guatemala for a bit.  I’ll post some pics of beautiful autumnal Canada first.