I recently bought and read “Windows Presentation Foundation Unleashed”, by Adam Nathan and Daniel Lehenbauer. It is by far the best book about WPF I’ve read. I highly recommend it to anyone who is serious about developing in WPF.
The book has so many great aspects, that it’s hard to pick a starting point for singing it praise. The entire book is printed in full color, which a subject matter like WPF absolutely demands. The code snippets have Visual Studio 2005 colorization, which makes reading the code very natural and seamless. Since all of the images in the book are in color, it’s truly a pleasure to peruse the screenshots. After reading that book, I just can’t go back to reading black-and-white books about WPF.
It is by far the most practical book about WPF I’ve read yet. The author explains complicated features of the framework in “everyday terms” and then mentions how they can be used in realistic ways. Considering the deluge of “pipe-dreamery” I’ve seen about WPF so far, a pragmatic perspective was much appreciated.
Since Adam Nathan and Daniel Lehenbauer both work on WPF at Microsoft, and the book was reviewed by many other members of the WPF group at Microsoft, this book has the lowdown on everything. It presents many interesting tidbits in callouts, such as FAQs, Tips, Warnings, etc. Not only is that information very helpful, but it makes the reading experience more enjoyable.
The chapter on 3D programming is outstanding. Daniel Lehenbauer, the lead developer on WPF’s 3D APIs, wrote the chapter and did a marvelous job. It is the first explanation of 3D programming in WPF that actually made sense to me. He didn’t dive right into the mind-numbing (and stomach-turning) details of texture coordinates, normals, etc. like the SDK docs. Instead he gave a very understandable and interesting overview of 3D programming in general, but explained it in the context of WPF. Truly fantastic!
Of course, every rose has its thorns. One (very minor) aspect of the book which I found to be distasteful is the abundance of exclamation marks (!). The author must have drunk a lot of coffee while writing the book. I assume that he included all of those exclamation marks to convey his enthusiasm for WPF, so it’s not all that bad. 🙂
One other thing which bothered me was that the author referred to the first version of WPF as “WPF v3.0”. What is up with that?! I’m not sure if that is what he, the author, decided to call it or if that is the “official” Microsoft name for the first version of WPF. Either way, that is the craziest thing I’ve ever heard. So here’s the official logic regarding The .NET Naming Catastrophe of 2006: ‘The first version of WPF is called “WPF v3.0” because it’s part of .NET 3.0, which is really just .NET 2.0 with additional libraries.’
They must use really strong drugs out there in Redmond.
Anyways, if you have not already done so, just buy and read the book. You won’t regret it. Trust me.