The #1 WPF Book--Now Updated for WPF 4! Full Code samples appear as they do in Visual Studio! Thorough, authoritative coverage, practical examples, clear writing, and full-color presentation make this one of the most widely acclaimed programming books of the last decade. Windows Presentation Foundation (WPF) is the recommended technology for creating Windows user interfaces, giving you the power to create richer and more compelling applications than you dreamed possible. Whether you want to develop traditional user interfaces or integrate 3D graphics, audio/video, animation, dynamic skinning, multi-touch, rich document support, speech recognition, or more, WPF enables you to do so in a seamless, resolution-independent manner. WPF 4 Unleashed is the authoritative book that covers it all, in a practical and approachable fashion, authored by WPF guru and Microsoft developer Adam Nathan.Covers everything you need to know about Extensible Application Markup Language (XAML) Examines the WPF feature areas in incredible controls, layout, resources, data binding, styling, graphics, animation, and more Highlights the latest features, such as multi-touch, text rendering improvements, XAML language enhancements, new controls, the Visual State Manager, easing functions, and much more Delves into topics that aren't covered by most 3D, speech, audio/video, documents, effects Shows how to create popular UI elements, such as Galleries, ScreenTips, and more Demonstrates how to create sophisticated UI mechanisms, such as Visual Studio-like collapsible/dockable panes Explains how to create first-class custom controls for WPF Demonstrates how to create hybrid WPF software that leverages Windows Forms, DirectX, ActiveX, or other non-WPF technologies Explains how to exploit new Windows 7 features, such as Jump Lists and taskbar customizations
WPF 4 unleashed is a great resource if you are learning WPF for the first time. It covers a broad range of topics and concepts, and also identifies many idiosyncracies of the technology that may affect you as you develop applications.
However, the book does not reach a five-star level because MVVM is not at all discussed. It is, literally, not mentioned once. To me, the MVVM design pattern goes hand-in-hand with WPF, and is one of the most important reasons for using WPF. All of the code examples in the book are placed in the XAML code-behind files, which is kind of a big no-no if you're wanting to write software with any sort of complexity. It was rather shocking to me that MVVM is entirely absent from the book.
This will still get you a long way to where you need to go. Pair this up with an MVVM-specific book, and you should be able to go a long way with WPF.
After reading a string of really great programming books, this was quite a let down. The book looks really nice: good use of color for the code samples, nice layout, etc.
Mainly I was disappointed that the book didn't present a cohesive project (or projects) that you gradually built up, learning WPF features along the way. Instead it's a bunch of loose examples that rarely have any bearing on each other.
There are some really good sections (the Visual Studio style window in Chapter 5), and the sample Photo Viewer demonstrates a lot of concepts...but why couldn't we just build the entire Photo Viewer throughout the book? I guess I just learn better that way.
I was also disappointed by the lack of ANY coverage of MVVM. Maybe when I understand WPF better, this book will serve as a decent reference for some hard-to-understand aspects. Unfortunately, after reading the entire book, I'm not sure I'm ready to start writing a full-fledged line-of-business WPF application.
This is a great book if you need an introduction to WPF or just need a reference for WPF concepts and best practices. It has a very good balance of description and examples. I would recommend this to anyone that wants to learn WPF or has "just messed around" with it.
Going back to my roots as a programmer with this one. I still very much enjoy reading about technology and dreaming up cool ways to apply it to business problems.