As an aside, this isn’t just about TaskDialogs and MessageBoxes and so on – there’s other reasons why you would want to get the latest version of common controls loaded into a WPF application but this particular area was one that I’d left “hanging” at that previous talk as I hadn’t resolved it at the time.
TaskDialog isn’t represented in the .NET Framework at all as far as I know so you need to look to the Windows API Code Pack which provides a managed TaskDialog class that you can make use of to make getting to the native APIs pretty easy.
To illustrate this in its entirety, here’s the world’s simplest example.

Read more: Mike Taulty's Blog