Synopses & Reviews
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.
Synopsis
WPF represents the best of the control-based Windows world and the content-based web world. Programming WPF helps you bring it all together.
Synopsis
Windows Presentation Foundation (WPF) represents the best of the control-based Windows world and the content-based Web world. This second edition includes new chapters on printing, navigation, text and documents, along with a new Appendix.
Synopsis
Simplify and speed up the development of business applications with Windows® Presentation Foundation (WPF) and the Model View ViewModel (MVVM) design pattern. With this hands-on guide, you'll master the techniques to bind data to your WPF user interfaces by constructing an example application through the course of the book. Gain valuable skills with WPF and MVVM that you can immediately apply to your own projects!
- Master the MVVM design pattern and apply it to WPF development
- Employ agile techniques to help reduce development time
- Take advantage of the powerful data services in WPF to bind application data
- Create rich, flexible, and maintainable client applications for the enterprise
- Build an example Customer Relationship Management (CRM) application from start to finish
- Use Microsoft Silverlight® or WPF to build applications with MVVM
About 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 http://www.sellsbrothers.com
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 http://www.interact-sw.co.uk/iangblog/ and is co-author of "Windows Forms in a Nutshell" and of "Mastering Visual Studio .NET".
Table of Contents
Dedication; Forewords; First Edition; Second Edition; Preface; 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; XAML Essentials; Properties; Markup Extensions; Code Behind; Loading XAML; Interoperability; 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; WPF and HTML; Limitations of WPF/HWND Interop; Asynchronous and Multithreaded WPF Programming; The WPF Threading Model; The Dispatcher; The Event-Based Asynchronous Pattern; WPF Base Types; DispatcherObject; DependencyObject; Visual; Visual3D; UIElement; FrameworkElement; Decorator; Panel; Shape; Control; ContentControl; HeaderedContentControl; UserControl; ItemsControl; HeaderedItemsControl; Selector; ContentElement; FrameworkContentElement; Freezable; Animatable; Silverlight; 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; Colophon;