Author: Rob Eisenberg, Christopher Bennage
Aimed at: WPF beginners
Pros: Useful examples that demonstrate use of WPF
Cons: Prefers to use XAML rather than drag and drop designer
Reviewed by: Mike James
This is a slim book attempting to cover a big subject in 24 hours of study - clearly it isn't going to be the only book you will need. It is printed in colour which benefits the listings and the illustrations.
After starting with an overview of the current situation in WPF development the book dives into XAML and doesn't really emerge until the end. It states that while Visual Studio has a drag-and-drop designer raw XAML is the way to go. In most cases beginners find the drag-and-drop designer too attractive to ignore and a book that doesn't take a dual approach of using the designer and then hand editing the code where necessary is making things more difficult and less realistic. In practice mastering WPF isn't about learning how to use it in isolation but with the wider context of a development environment.
This said, the approach uses an example-based explanation which works quite well for introducing what you can do with WPF. It starts off with some basic XAML and several examples. A Font viewer, controls, layout and data binding are all in Part One.
Part Two continues with a document editor, events and commands. Part Three is all about building a contact manager and changing the look of things.
The final part is an excursion into more advanced territory via building a media viewer - drawing with shapes, brushes, colour, control templates, triggers and animation. The big problem is that the explanations of what is going on and the principles behind what you are doing are thin compared to the descriptions of what you should do to create the examples. Often you are left wondering whether what you have just done is generalisable and what is common practice. For example, at one point some XAML is stored in a resource to save some typing but then there is a boxout saying that this isn't in general a good idea - so why do it in the example?
The book certainly never rises above the documentation and it doesn't show you things that the documentation leaves out. In fact it is best considered to be a set of examples that illustrates how to use WPF. If this is what you are looking for then this book might suit but if you want a something that explains and organises WPF so that you can generalise your knowledge you need a different book.