Ok, so I haven’t been writing as often as I had anticipated about my journey through Applications = Code + Markup by Charles Petzold. Since my last post Petzold has posted some reactions to some of the common criticisms of his book. It is definitely worth a read.
I read through the first part of the book pretty quickly. I would read 2 or 3 chapters while not in front of a computer and then I would find a computer and type in and run most of the samples. I thought it was important to type in the samples myself instead of just using the sample code you download from the Microsoft Press companion website so I could get used to coding in the Visual Studio Cider environment. I found this technique to be very effective in recognizing common mistakes and errors and learning how to fix them.
The pace of my reading slowed down significantly somewhere around Chapter 11: Single Child Elements or Chapter 12: Custom Panels. Not that the subject matter wasn’t interesting, I just found it very difficult to visualize without being around a computer to try out the samples. I just kept pressing though anyway with the intention of reading those chapters slower on my second pass through of the book (yes, I intend to read the entire book twice).
Chapter 18: The Notepad Clone was also very difficult to read. This sort of “Tying it all together” chapter is required in most programming books so I don’t blame the author for the excess of code in this chapter.
The Xaml portion of the book starts in Chapter 19. Once I reached this point, the book became a page turner. There are so many WPF mysteries that are being revealed I can’t even keep track of all of them. I found the information on Resources, Data Binding, Styles, and Templates to be fascinating. This, in my opinion, is where the real power of WPF is revealed. I have so many things I want to try using the techniques found in these sections that I am not sure when I will find the time. After I finish this book for the first time, I am going to write down all of my ideas so I can keep them in mind during my second reading. Stay tuned.