5 days
Course Overview
Windows Presentation Foundation for C# Developers shows you how WPF really works. It provides you with the no-nonsense, practical advice that you need in order to build high quality WPF applications quickly and easily.
Prerequisites
Previous knowledge and experience of developing applications with C#.NET.
Course Outline
Introducing WPF
- The Evolution of Windows Graphics
- WPF: A Higher-Level API
- Resolution Independence
- The Architecture of WPF
- WPF 4
XAML
- Understanding XAML
- XAML Basics
- Properties and Events in XAML
- Using Types from Other Namespaces
- Loading and Compiling XAML
- XAML 2009
Layout
- Understanding Layout in WPF
- Simple Layout with the StackPanel
- The WrapPanel and DockPanel
- The Grid
- Coordinate-Based Layout with the Canvas
Dependency Properties
- Understanding Dependency Properties
- Property Validation
Routed Events
- Understanding Routed Events
- Event Routing
- WPF Events
- Keyboard Input
- Mouse Input
- Multitouch Input
Controls
- The Control Class
- Content Controls
- Specialized Containers
- Headered Content Controls
- Text Controls
- List Controls
- Range-Based Controls
- Date Controls
The Application
- The Application Life Cycle
- Application Tasks
- Assembly Resources
- Localization
Element Binding
- Binding Elements Together
- Binding to Objects That Aren’t Elements
Commands
- Understanding Commands
- The WPF Command Model
- Executing Commands
- Advanced Commands
Resources
- Resource Basics
- Resource Dictionaries
Styles and Behaviors
- Style Basics
- Triggers
- Behaviors
- Shapes, Brushes, and Transforms
- Understanding Shapes
- Brushes
- Transforms
- Transparency
Geometries and Drawings
- Paths and Geometries
- Drawings
Effects and Visuals
- Visuals
- Effects
- The WriteableBitmap Class
Animation Basics
- Understanding WPF Animation
- Basic Animation
- Storyboards
- Animation Easing
- Animation Performance
Advanced Animation
- Animation Types Revisited
- Key Frame Animation
- Path-Based Animation
- Frame-Based Animation
- Storyboards in Code
Control Templates
- Understanding Logical Trees and Visual Trees
- Understanding Templates
- Creating Control Templates
- Organizing Template Resources
- Building More Complex Templates
- Visual States
Custom Elements
- Understanding Custom Elements in WPF
- Building a Basic User Control
- Creating a Lookless Control
- Supporting Visual States
- Custom Panels
- Custom-Drawn Elements
Data Binding
- Binding to a Database with Custom Objects
- Binding to a Collection of Objects
- Improving Performance in Large Lists
- Validation
- Data Providers
Formatting Bound Data
- Data Binding Redux
- Data Conversion
- List Controls
- List Styles
- Data Templates
- The ComboBox
Data Views
- The View Object
- Filtering, Sorting, and Grouping
Lists, Grids, and Trees
- The ListView
- The TreeView
- The DataGrid
Windows
- The Window Class
- Window Interaction
- Nonrectangular Windows
- The Aero Glass Effect
- Programming the Windows 7 Taskbar
Pages and Navigation
- Understanding Page-Based Navigation
- Page-Based Interfaces
- The Page History
- The Navigation Service
- XAML Browser Applications
- The WebBrowser Control
Menus, Toolbars, and Ribbons
- Menus
- Toolbars and Status Bars
- Ribbons
Sound and Video
- Playing WAV Audio
- The MediaPlayer
- The MediaElement
- Speech
3-D Drawing
- 3-D Drawing Basics
- Deeper into 3-D
- Interactivity and Animations
Documents
- Understanding Documents
- Flow Documents
- Read-Only Flow Document Containers
- Fixed Documents
- Annotations
Printing
- Basic Printing
- Custom Printing
- Print Settings and Management
- Printing Through XPS
Interacting with Windows Forms
- Assessing Interoperability
- Mixing Windows and Forms
- Creating Windows with Mixed Content
- The Last Word
Multithreading
- Multithreading
The Add-in Model
- Choosing Between MAF and MEF
- The Add-in Pipeline
- An Application That Uses Add-Ins
- Interacting with the Host
- Visual Add-Ins
ClickOnce Deployment
- Understanding Application Deployment
- A Simple ClickOnce Publication
- Additional ClickOnce Options