Windows Presentation Foundation Unleashed
Author: Adam Nathan
Publisher: SAMS, 2007
Pages: 656
ISBN: 978-0672328916
Aimed at: .NET developers new to WPF
Rating: 4.5
Pros: Broad coverage; examines topics rarely touched in other WPF books
Cons: Shallow in places
Reviewed by: Dave Wheeler

For many of us, the arrival of WPF marks the beginning of the end of USER32 Windows programming. In WPF Unleashed, Nathan has provided a (literally) colourful and engaging book that propels the reader into the new world of WPF quickly and efficiently.
The book is pragmatic, interleaving both XAML and C# code from the off, and is not afraid to go beyond the constraints of WPF by showing you how to use native APIs to add Vista features such as the new TaskDialog and AERO "glass". Coverage of the critical parts of WPF - a layout, templates and styles, binding and the application and navigation models - is excellent. Even WPF's 3D support is covered to a sufficient depth for most developers.
WPF Unleashed is printed in full colour, including the code listings, with sufficient representative screenshots that make it both readable and lively. Given the highly graphical nature of WPF, this is a welcome relief in comparison, say, to the turgid reference tome that is Petzold's "Applications = Code + Markup". Again, unlike Petzold's work, this book will have you rapidly building WPF applications that reflect WPF's goals, rather than merely as a replacement for USER32.
If there's one criticism of this book, it is that it is too short. The breadth of the material is great, but there is a lack of depth in certain areas. This means that you might well find yourself reaching for the MSDN documents, or even Petzold, when needing to really drill down into a subject. However, this means that WPF Unleashed is a great entry- to intermediate-level work on WPF and should see most WPF developers through that first six- to twelve-month learning curve.
In conclusion, WPF Unleashed is one of the best WPF books on the market today.

<REVIEWED IN VSJ>
Last Updated ( Tuesday, 10 February 2009 )