You are previewing WPF 4.5 Unleashed.
O'Reilly logo
WPF 4.5 Unleashed

Book Description

The #1 WPF Book--Now Updated for WPF 4.5!
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 modern Windows desktop apps. Whether you want to develop traditional user interfaces or integrate 3D graphics, audio/video, animation, dynamic skinning, touch, rich document support, speech recognition, or more, WPF enables you to do so in a seamless, resolution-independent manner that scales from small tablets to large TVs. WPF 4.5 Unleashed is the authoritative book that covers it all, in a practical and approachable fashion, authored by WPF guru and Microsoft architect Adam Nathan.

  • Covers everything you need to know about Extensible Application Markup Language (XAML)

  • Examines the WPF feature areas in incredible depth: controls, layout, resources, data binding, styling, graphics, animation, and more

  • Delves into topics that aren’t covered by most books: 3D, speech, audio/video, documents, effects

  • Shows how to create popular UI elements and leverage built-in controls such as the new Office-style Ribbon

  • 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 desktop features, such as Jump Lists and taskbar customizations, and the same toast notifications used by Windows Store apps

  • Table of Contents

    1. About This eBook
    2. Title Page
    3. Copyright Page
    4. Some Praise for the First Edition of Windows® Presentation Foundation Unleashed
    5. Contents at a Glance
    6. Table of Contents
    7. About the Author
    8. Dedication
    9. Acknowledgments
    10. We Want to Hear from You!
    11. Reader Services
    12. Introduction
      1. Who Should Read This Book?
      2. Software Requirements
      3. Code Examples
      4. How This Book Is Organized
      5. Conventions Used in This Book
    13. Part I: Background
      1. Chapter 1. Why WPF?
        1. A Look at the Past
        2. Enter WPF
        3. The Evolution of WPF
        4. Summary
      2. Chapter 2. XAML Demystified
        1. XAML Defined
        2. Elements and Attributes
        3. Namespaces
        4. Property Elements
        5. Type Converters
        6. Markup Extensions
        7. Children of Object Elements
        8. Mixing XAML with Procedural Code
        9. XAML2009
        10. XAML Keywords
        11. Summary
      3. Chapter 3. WPF Fundamentals
        1. A Tour of the Class Hierarchy
        2. Logical and Visual Trees
        3. Dependency Properties
        4. Summary
    14. Part II: Building a WPF Application
      1. Chapter 4. Sizing, Positioning, and Transforming Elements
        1. Controlling Size
        2. Controlling Position
        3. Applying Transforms
        4. Summary
      2. Chapter 5. Layout with Panels
        1. Canvas
        2. StackPanel
        3. WrapPanel
        4. DockPanel
        5. Grid
        6. Primitive Panels
        7. Handling Content Overflow
        8. Putting It All Together: Creating a Visual Studio–Like Collapsible, Dockable, Resizable Pane
        9. Summary
      3. Chapter 6. Input Events: Keyboard, Mouse, Stylus, and Touch
        1. Routed Events
        2. Keyboard Events
        3. Mouse Events
        4. Stylus Events
        5. Touch Events
        6. Commands
        7. Summary
      4. Chapter 7. Structuring and Deploying an Application
        1. Standard Desktop Applications
        2. Navigation-Based Desktop Applications
        3. Gadget-Style Applications
        4. XAML Browser Applications
        5. Loose XAML Pages
        6. Summary
      5. Chapter 8. Exploiting Windows Desktop Features
        1. Jump Lists
        2. Taskbar Item Customizations
        3. Aero Glass
        4. TaskDialog
        5. Summary
    15. Part III: Controls
      1. Chapter 9. Content Controls
        1. Buttons
        2. Simple Containers
        3. Containers with Headers
        4. Summary
      2. Chapter 10. Items Controls
        1. Common Functionality
        2. Selectors
        3. Menus
        4. Other Items Controls
        5. Summary
      3. Chapter 11. Images, Text, and Other Controls
        1. The Image Control
        2. Text and Ink Controls
        3. Documents
        4. Range Controls
        5. Calendar Controls
        6. Summary
    16. Part IV: Features for Professional Developers
      1. Chapter 12. Resources
        1. Binary Resources
        2. Logical Resources
        3. Summary
      2. Chapter 13. Data Binding
        1. Introducing the Binding Object
        2. Controlling Rendering
        3. Customizing the View of a Collection
        4. Data Providers
        5. Advanced Topics
        6. Putting It All Together: The Pure-XAML Twitter Client
        7. Summary
      3. Chapter 14. Styles, Templates, Skins, and Themes
        1. Styles
        2. Templates
        3. Skins
        4. Themes
        5. Summary
    17. Part V: Rich Media
      1. Chapter 15. 2D Graphics
        1. Drawings
        2. Visuals
        3. Shapes
        4. Brushes
        5. Effects
        6. Improving Rendering Performance
        7. Summary
      2. Chapter 16. 3D Graphics
        1. Getting Started with 3D Graphics
        2. Cameras and Coordinate Systems
        3. Transform3D
        4. Model3D
        5. Visual3D
        6. Viewport3D
        7. 2D and 3D Coordinate System Transformation
        8. Summary
      3. Chapter 17. Animation
        1. Animations in Procedural Code
        2. Animations in XAML
        3. Keyframe Animations
        4. Easing Functions
        5. Animations and the Visual State Manager
        6. Summary
      4. Chapter 18. Audio, Video, and Speech
        1. Audio
        2. Video
        3. Speech
        4. Summary
    18. Part VI: Advanced Topics
      1. Chapter 19. Interoperability with Non-WPF Technologies
        1. Embedding Win32 Controls in WPF Applications
        2. Embedding WPF Controls in Win32 Applications
        3. Embedding Windows Forms Controls in WPF Applications
        4. Embedding WPF Controls in Windows Forms Applications
        5. Mixing DirectX Content with WPF Content
        6. Embedding ActiveX Controls in WPF Applications
        7. Summary
      2. Chapter 20. User Controls and Custom Controls
        1. Creating a User Control
        2. Creating a Custom Control
        3. Summary
      3. Chapter 21. Layout with Custom Panels
        1. Communication Between Parents and Children
        2. Creating a SimpleCanvas
        3. Creating a SimpleStackPanel
        4. Creating an OverlapPanel
        5. Creating a FanCanvas
        6. Summary
      4. Chapter 22. Toast Notifications
        1. Prerequisites
        2. Sending a Toast Notification
        3. Toast Templates
        4. Notification Events
        5. Scheduled Notifications
        6. Summary
    19. Appendix A. Fun with XAML Readers and Writers
      1. Overview
      2. The Node Loop
      3. Reading XAML
      4. Writing to Live Objects
      5. Writing to XML
      6. XamlServices
    20. Index