Programming WPF: Building Windows UI with Windows Presentation Foundation


If you want to build applications that take full advantage of Windows Vista's new user interface capabilities, you need to learn Microsoft's Windows Presentation Foundation (WPF). This new edition, fully updated for the official release of .NET 3.0, is designed to get you up to speed on this technology quickly. By page 2, you'll be writing a simple WPF application. By the end of Chapter 1, you'll have taken a complete tour of WPF and its major elements.

WPF is the new ...

See more details below
Paperback (Second Edition)
$36.18 price
(Save 27%)$49.99 List Price

Pick Up In Store

Reserve and pick up in 60 minutes at your local store

Other sellers (Paperback)
  • All (28) from $2.26   
  • New (8) from $27.73   
  • Used (20) from $2.19   
Programming WPF: Building Windows UI with Windows Presentation Foundation

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK 7.0
  • Samsung Galaxy Tab 4 NOOK 10.1
  • NOOK HD Tablet
  • NOOK HD+ Tablet
  • NOOK eReaders
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac
  • NOOK for Web

Want a NOOK? Explore Now

NOOK Book (eBook)
$22.99 price
(Save 42%)$39.99 List Price


If you want to build applications that take full advantage of Windows Vista's new user interface capabilities, you need to learn Microsoft's Windows Presentation Foundation (WPF). This new edition, fully updated for the official release of .NET 3.0, is designed to get you up to speed on this technology quickly. By page 2, you'll be writing a simple WPF application. By the end of Chapter 1, you'll have taken a complete tour of WPF and its major elements.

WPF is the new presentation framework for Windows Vista that also works with Windows XP. It's a cornucopia of new technologies, which includes a new graphics engine that supports 3-D graphics, animation, and more; an XML-based markup language, called XAML, for declaring the structure of your Windows UI; and a radical new model for controls.

This second edition includes new chapters on printing, XPS, 3-D, navigation, text and documents, along with a new appendix that covers Microsoft's new WPF/E platform for delivering richer UI through standard web browsers — much like Adobe Flash. Content from the first edition has been significantly expanded and modified. Programming WPF includes:

  • Scores of C# and XAML examples that show you what it takes to get a WPF application up and running, from a simple "Hello, Avalon" program to a tic-tac-toe game
  • Insightful discussions of the powerful new programming styles that WPF brings to Windows development, especially its new model for controls
  • A color insert to better illustrate WPF support for 3-D, color, and other graphics effects
  • A tutorial on XAML, the new HTML-like markup language for declaring Windows UI
  • An explanation and comparison of the features that support interoperability with Windows Forms and other Windows legacy applications

WPF represents the best of the control-based Windows world and the content-based web world. Programming WPF helps you bring it all together.

Read More Show Less

Product Details

  • ISBN-13: 9780596510374
  • Publisher: O'Reilly Media, Incorporated
  • Publication date: 7/1/2007
  • Edition description: Second Edition
  • Edition number: 2
  • Pages: 864
  • Sales rank: 1,458,416
  • Product dimensions: 7.08 (w) x 9.18 (h) x 1.89 (d)

Meet the Author

Chris Sells is a Program Manager for the Connected Systems Division at Microsoft. He's written several books, including the first edition of "Programming WPF", "Windows Forms 2.0 Programming" and "ATL Internals" (both Addison-Wesley). In his free time, Chris hosts various conferences and makes a pest of himself on Microsoft internal product team discussion lists. More information about Chris, and his various projects, is available at

Ian Griffiths is an independent WPF consultant, developer, speaker and Pluralsight instructor and a widely recognized expert on the subject. He lives in London but can often be found on various developer mailing lists and newsgroups, where a popular sport is to see who can get him to write the longest email in reply to the shortest possible question. Ian maintains a popular blog at and is co-author of "Windows Forms in a Nutshell" and of "Mastering Visual Studio .NET".

Read More Show Less

Table of Contents

First Edition;
Second Edition;
Who This Book Is For;
How This Book Is Organized;
What You Need to Use This Book;
Conventions Used in This Book;
Using Code Examples;
How to Contact Us;
Safari® Books Online;
Ian's Acknowledgments;
Chris's Acknowledgments;
Chapter 1: Hello, WPF;
1.1 WPF from Scratch;
1.2 XAML Browser Applications (XBAPs);
1.3 Content Models;
1.4 Layout;
1.5 Controls;
1.6 Data Binding;
1.7 Dependency Properties;
1.8 Resources;
1.9 Styles;
1.10 Animation;
1.11 Control Templates;
1.12 Graphics;
1.13 3D;
1.14 Documents and Printing;
1.15 Where Are We?;
Chapter 2: Applications and Settings;
2.1 Application Lifetime;
2.2 Application Deployment;
2.3 Settings;
2.4 Where Are We?;
Chapter 3: Layout;
3.1 Layout Basics;
3.2 StackPanel;
3.3 WrapPanel;
3.4 DockPanel;
3.5 Grid;
3.6 Canvas;
3.7 Viewbox;
3.8 Common Layout Properties;
3.9 When Content Doesn't Fit;
3.10 ScrollViewer;
3.11 Custom Layout;
3.12 Where Are We?;
Chapter 4: Input;
4.1 Routed Events;
4.2 Mouse Input;
4.3 Keyboard Input;
4.4 Ink Input;
4.5 Commands;
4.6 Code-Based Input Handling Versus Triggers;
4.7 Where Are We?;
Chapter 5: Controls;
5.1 What Are Controls?;
5.2 Buttons;
5.3 Slider and Scroll Controls;
5.4 ProgressBar;
5.5 Text Controls;
5.6 ToolTip;
5.7 GroupBox and Expander;
5.8 List Controls;
5.9 Menus;
5.10 Toolbars;
5.11 GridSplitter;
5.12 Where Are We?;
Chapter 6: Simple Data Binding;
6.1 Without Data Binding;
6.2 Data Binding;
6.3 Debugging Data Binding;
6.4 Where Are We?;
Chapter 7: Binding to List Data;
7.1 Binding to List Data;
7.2 Data Source Providers;
7.3 Master-Detail Binding;
7.4 Hierarchical Binding;
7.5 Where Are We?;
Chapter 8: Styles;
8.1 Without Styles;
8.2 Inline Styles;
8.3 Named Styles;
8.4 Element-Typed Styles;
8.5 Data Templates and Styles;
8.6 Triggers;
8.7 Where Are We?;
Chapter 9: Control Templates;
9.1 Beyond Styles;
9.2 Logical and Visual Trees;
9.3 Data-Driven UI;
9.4 Where Are We?;
Chapter 10: Windows and Dialogs;
10.1 Window;
10.2 Dialogs;
10.3 Where Are We?;
Chapter 11: Navigation;
11.1 NavigationWindow;
11.2 Pages;
11.3 Frames;
11.4 XBAPs;
11.5 Navigation to HTML;
11.6 Where Are We?;
Chapter 12: Resources;
12.1 Creating and Using Resources;
12.2 Resources and Styles;
12.3 Binary Resources;
12.4 Global Applications;
12.5 Where Are We?;
Chapter 13: Graphics;
13.1 Graphics Fundamentals;
13.2 Shapes;
13.3 Bitmaps;
13.4 Brushes and Pens;
13.5 Transformations;
13.6 Visual Layer Programming;
13.7 Where Are We?;
Chapter 14: Text and Flow Documents;
14.1 Fonts and Text Styles;
14.2 Text and the User Interface;
14.3 Text Object Model;
14.4 Typography;
14.5 Where Are We?;
Chapter 15: Printing and XPS;
15.1 XPS;
15.2 XPS Document Classes;
15.3 Generating XPS Output;
15.4 XPS File Generation Features;
15.5 System.Printing;
15.6 Displaying Fixed Documents;
15.7 Where Are We?;
Chapter 16: Animation and Media;
16.1 Animation Fundamentals;
16.2 Timelines;
16.3 Keyframe Animations;
16.4 Path Animations;
16.5 Clocks and Control;
16.6 Transition Animations;
16.7 Audio and Video;
16.8 Where Are We?;
Chapter 17: 3D Graphics;
17.1 3D Content in a 2D World;
17.2 Cameras;
17.3 Models;
17.4 Lights;
17.5 Textures;
17.6 Transforms;
17.7 3D Data Visualization;
17.8 Hit Testing;
17.9 Where Are We?;
Chapter 18: Custom Controls;
18.1 Custom Control Basics;
18.2 Choosing a Base Class;
18.3 Custom Functionality;
18.4 Supporting Templates in Custom Controls;
18.5 Default Styles;
18.6 UserControl;
18.7 Adorners;
18.8 Where Are We?;
XAML Essentials;
Markup Extensions;
Code Behind;
Loading XAML;
WPF and HWNDs;
Hosting a Windows Form Control in WPF;
Hosting a WPF Control in Windows Forms;
Hosting WPF in Native HWND Apps;
WPF and ActiveX Controls;
Limitations of WPF/HWND Interop;
Asynchronous and Multithreaded WPF Programming;
The WPF Threading Model;
The Dispatcher;
The Event-Based Asynchronous Pattern;
WPF Base Types;
Why Silverlight?;
What Is Silverlight?;
Silverlight XAML;
Silverlight and WPF;
Development Model;
ASP.NET and Silverlight;
A Taste of Silverlight 1.1;
Tool Support;
Examples in the World;
Where Are We?;
Color Inserts;

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Anonymous

    Posted January 25, 2008

    A reviewer

    Programming Windows Presentation Foundation is very excellent book, ideal for all developers who's interesting building rich and digital applications with new Microsoft technology for creating visual experiences. This is good book for everything from developers without programming experience on WPF and for experts in this topic. Book contains many interesting chapters with introduction to all topics, examples and some advanced topics to enable developers to create better WPF application. If you are interesting working with Windows Presentation Foundation, you must learn this technology from this book! In second edition, writers add to book several interesting themes, from XPS and printing technology to navigation, and 3D creating. It's amazing how many features have a developers and designer to create layout, realize dreams and potential. When Microsoft published WPF millions developers around a world get a platform with big potential. In book You are find: - Introduction to WPF technology and create first application with XAML language. - Design modern and high-quality layout for Yours application. - Connected with Data, binding controls and create rich advanced data applications. - Graphics and 3D support. - Printing technology and using XPS. - Animation and Media in WPF application. Building rich and friendly applications is very hard, but this is not usual book, this is full professional support for all people who's thinking about create own application on WPF.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)