WPF Unleashed - New Book from Sams Publishing

If you're looking to learn WPF from a book, there are an increasing range of good choices out on the bookshelves that are based on the shipping APIs.

The latest book to be published is WPF Unleashed by Adam Nathan. If you've ever needed to do any coding to the Win32 API from a managed environment, chances are high that you've either got a well-thumbed copy of his book .NET and COM on your desk or you've found an API wrapper at his website pinvoke.net. Almost uniquely for a technical book, .NET and COM was so popular that there was a grass-roots developer campaign to resurrect it after it went out of print - for a while, it sold used for significantly over its list price on eBay, before the publisher ordered a new print run.

So what's the new book like? While I haven't yet had the opportunity to read the final manuscript from cover to cover, I've seen a number of draft chapters and there's a lot to like here. Adam has a readable, human style that isn't as dense or exhaustive in its coverage of each topic as Charles' work, but provides some great practical insights in the many sidebars scattered throughout the book that will help you apply WPF concepts to your own projects. As one of the key developers on the 3D team, I'm looking forward to reading Daniel Lehenbauer's contributions on that topic, particularly since there's only sketchy printed coverage available thus far on that topic.

For such a visual technology, SAMS have taken the smart choice of publishing the entire book in color, and that has a powerful impact on comprehension: being able to scan through code listings printed with the same color scheme as you'd see on-screen in Visual Studio makes it far easier to pick out the salient points. Of course, it's even more important for coverage of topics like styles or vector drawings, when color is everything. This book sets a new bar for visual polish, and I hope other publishers take note.

The publishers have been generous enough to offer a sample chapter available for download from this blog; it covers a number of the major new concepts in WPF - dependency properties, routed events, visual trees. Remember - you saw it here first!

Which of these three books should you buy? It's hard to make a categorical recommendation of just one title: they all have their strengths. If you're just starting out with WPF and are looking for a survey of the major elements and concepts, then Laurence's Apress book is a great introduction. If you're already developing with WPF, you'll find Charles' Microsoft Press book to be a treasure trove of elegant solutions, clever tricks and precise explanations. If you're looking for a good general purpose, approachable guide to the breadth of the WPF platform, then Adam's SAMS book is definitely worth a look.