WPF Fundamentals




On-Demand! version of this course

Windows Presentation Foundation (WPF) is Microsoft’s next-generation presentation platform. WPF is built into Windows Vista and also runs on Windows XP and Windows Server 2003.

WPF allows rich client applications to take full advantage of the graphical capabilities of a modern PC. Its powerful and flexible programming model integrates support for flexible layout, high-quality text, resolution-independent graphics, animation, video and 3D. While it is designed to exploit the full capabilities of today’s high-performance graphics cards, it offers high-level abstractions that offer great power to the developer for less development effort than ever before. This course will introduce practicing .NET developers to the new programming models and UI features introduced by WPF, with practical hands-on labs to reinforce the concepts.


Who Should Attend

Developers with experience in .NET who are interested in learning how to develop applications using the Windows Presentation Foundation.


Download printable course description Download printable course description

course details


Technologies: WPF, Xaml
Language(s): C#
Length: Four days, 9am-5pm
US Class Price: $2795
UK Class Price: $3195

course instructors


Ian Griffiths
Eric Burke

upcoming public offerings


8/10/2009  Chicago, IL


10/19/2009  Waltham, MA
Double Feature
Double Feature Small IconWPF+Silverlight


Course outline:

Day 1

  Introduction to WPF - Why WPF? (Historical technical context)
- WPF, WinFX, .NET, and Windows. What is WPF and how does it relate to Microsoft’s current technology offerings?
- XAML, Expression Blend, and Visual Studio 2008
- Customization of UI visuals
- Presenting data

  Controls and Layout - Built-in controls, menus
- Layout
- Pages, frames, windows, and navigation
- Eventing and commanding

  Graphics - Resolution independence, transformability
- WPF and modern graphics cards
- Drawing primitives
- Graphics object model
- Integration
- Imaging and video

Day 2

  Data - Data binding and data contexts
- Data templates
- Hierarchical binding

  Core Types - DependencyObject and Dependency Properties
- Visual
- FrameworkElement
- FrameworkContentElement
- Freezable

  Templates - Customization continuum: properties, templates, custom control
- ‘Lookless’ controls
- ControlTemplate and TemplateBinding
- Triggers
- The implied contract between a control and its template
- ContentControl idiom
- List control idiom

Day 3

  Resources - WPF object resource hierarchy
- Binary resource support
- Internationalization

  Reusable UI - Resource-based reuse
- Template-based reuse
- Reusing Xaml with codebehind
- Writing custom lookless controls

  Text - Ubiquitous full-featured text support
- Flow layout
- Integration with other UI elements
- Pagination

Day 4

  Printing - Printing in WPF
- XPS documents

  Styles - Styles and properties
- Styles and resources
- Triggers

  Connecting WPF Applications to Services - Asynchronous invocation and the WPF threading model
- Data binding and services

  Interop: Mixing WPF with Windows Forms and Win32 - Windows Forms interop
- Win32 interop
- Mixing HTML and WPF