Windows Presentation Foundation Unleashed
Book Review
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.
Rating:
éééé
Web Site:
http://www.samspublishing.com/bookstore/product.asp?isbn=0672328917&rl=1
Price: US$54.99
ISBN: 0-672-32891-7
Authors: Adam Nathan
Publisher: Sams
Page Count: 638
Review Date: 2007
The original version of this review was published in
ASP.NET Pro
Magazine.