Windows Presentation Foundation Unleashed
The release of the .NET Framework 3.0 forever changed the way Windows applications will be developed even if that change has yet to take hold. Windows Presentation Foundation (WPF) is responsible for the approaching obsolescence of GDI+, and good riddance to it! This doesn t mean you have to abandon your Window Forms applications just yet especially because they interoperate with WPF technology reasonably well but you d best have your eye on WPF as it represents the future of Windows application development.
WPF is based on an XML format named XAML (commonly pronounced zammel ). XAML is to Windows applications what HTML is to Web applications: a structured, declarative way to define a user interface at design time.
XAML is much more complex than HTML, and thus requires an entire book (at least) to describe it in a reasonably thorough manner. Windows Presentation Foundation Unleashed is that book.
The first part of the book serves as an introduction to WPF and XAML, including details about why they came to be. It also covers important new foundational concepts of WPF, such as commands, trees, and routed events.
The second part of the book delves deeply into the controls included with WPF, and demonstrates how they can be glued together in all kinds of useful, innovative, and potentially strange ways. It also explains how to position controls so they can be aligned properly and resized appropriately throughout form resizings and resolution changes, which is one of the flagship features of WPF.
Part 3 delves even deeper into the inner workings of controls by detailing concepts such as resources, data binding, styles, templates, skins, and themes. Using the techniques learned by this point in the book can result in controls that have radically modified user interfaces. Virtually any user interface imaginable can be implemented over the top of standard controls often without a single line of code being required.
Part 4 targets multimedia junkies, with implementation details for 2D and 3D graphics, animation, audio, video, and speech. This section dives deep, and is likely to lose most people at some point because of its progressively increasing complexity. It is, nonetheless, an awe-inspiring demonstration of the power of WPF to create amazing visual effects that weren t previously feasible.
The fifth part of the book covers advanced topics such as interop with Win32, Windows forms, and the world of ActiveX. It also covers control creation (user controls and server controls). The user control creation section is clear and concise, contrary to the section on custom control creation. Custom control creation in WPF is clearly a subject so complex that it needs a book of its own; it couldn t possibly be covered clearly in so few pages as has been attempted here.
The appendix claims to cover useful related tools, but does so only in a cursory manner. However, in the author s defense, there are not currently (at the time of this writing) any good XAML tools released not counting early beta versions. However, by the time you read this review, Microsoft s Expression Blend should be released, and it s likely your best bet for XAML editing tools (at least until the next version of Visual Studio, codenamed Orcas, is released in its final form. (Don t bother with the CTP versions of Orcas for Windows development so far they have atrocious XAML support.)
Despite trying to bite off a little more than can be chewed in a couple places, all in all this book is the best around for learning XAML, along with the concepts and capabilities of Windows Presentation Foundation. This book is packed with full-color code listings, screenshots, and diagrams that make it especially pleasing to the eye, encouraging you to read further and learn more. WPF is an exciting new technology, and Windows Presentation Foundation Unleashed does a great job of capturing and conveying that excitement. I haven t been so thoroughly engrossed by a programming book in years.
Steve C. Orr
Title: Windows Presentation Foundation Unleashed
Author: Adam Nathan
Page Count: 638