An excellent preparation guide
The content of this preparation / training guide is quite sufficient to pass the MCTS 70-502 exam. The information is thorough enough that even persons with relatively little experience programming WPF applications will find the topics covered comprehensive, if a bit scattered. Despite this, it is definitely to one's advantage to have made one or two applications using WPF in order to get a good feel for the capabilities of the technology.
The content itself is a bit scattered and has many forward-references. This is, however, understandable given that WPF is a fairly holistic technology that can't be easily dissected. As such, two passes of the book are highly-recommended to ensure a solid understanding of the topics - examples presented in the beginning of the book will take on better meaning after a full pass of the book. The chapters tend to group content appropriately and in great depth. It is very easy to understand the workings of WPF, which is really what Microsoft Certification is all about - understanding, not memorizing.
As with most training materials, there were some mistakes, but these were limited to typos in the text - if you stick to the C# track, you will see almost no errors; the Visual Basic examples were more error-prone. The (few) chapter summary questions are simple, yet require the reader to have paid attention, providing good checks for later review.
In terms of learning gaps, there were some aspects of the test that were not covered in sufficient detail, but they can easily be corrected with some MSDN reading. For example, XPS document creation is not covered, though opening XPS documents is touched upon. By-and-large, everything is at least mentioned, though. The practice tests will accurately identify which areas you need to read-up on using MSDN.
Coming to the point of the practice tests, the engine was much improved over the 70-536 test software. Many of the questions are representative of questions on the exam and you will find several areas not covered on the book showing up as questions - these are the areas that merit additional reading. There was only one error in the test questions, but if you read the explanation, you'll find that you are probably correct.
Overall, I found this to be an excellent resource that, in the end, gave me an exceptional understanding of WPF and prepared me well for the exam.
Exciting WPF Training Kit Release
If you are considering a good start to enter the world of WPF, and at the same time prepares yourself for taking the exam (70-502) to be (MCTS .NET Framework 3.5 - WPF), then this training kit is more than a good start.
The author assumes a solid background about using one of the .NET main languages (VB, or C#) in addition to a practical expertise in building and deploying desktop applications using Windows Forms 2.0 and Visual Studio .NET 2005. Having this knowledge will help the reader to better understand the new features of WPF and the new solved problems.
Although the exam objectives are well covered, the content arrangement was not in the best shape if you plan a comprehensive reading from cover to cover which may cause some frustration.
The author has elegant and organized writing skills, which helped him to deliver ideas and explanations in a direct and plain way, without the need to spend pages and pages trying to explain simple point.
Reading this book is like an exciting adventure, some chapters will amaze you with the new features of WPF like routed events, content model, 2D graphics features, multimedia integration, and last but not least data binding and validation. Some other chapters will assure you that your previous knowledge of WinForms was not a total waste.
To sum up, although this book may not be the best start to learn about WPF, it is an adventure that takes you inside the world of WPF. If you consider this book as exam preparation guide, you are 100% at the right location.
Mohamed Saif El-Nasr
Microsoft Certified Trainer
Microsoft Certified Professional Developer
Very helpful resource
I like the book in general, though if you are using Visual Studio 2008 on Windows Vista 64-bit, you should be aware that the VB lab for Chapter 5, Lesson 2 does not work. This is a problem because this lab is used as a basis for labs in subsequent chapters & lessons. In order to get this lab to work properly, I had to install VS 2008 on my old XP machine, where it compiled and ran without a hitch. I'm guessing it will work fine on Vista 32-bit, though I haven't tested this yet.
Update: when I changed the Project Properties, Advanced Compiler Options, Targe CPU to "x86", the project for the Chapter 5 lab (lesson 2) compiled and ran perfectly.