• Online, Self-Paced
Course Description

Microsoft's Windows Presentation Foundation (WPF) is a framework within .NET for building next-generation standalone and browser-based client applications. This course introduces WPF to the C# programmer and shows how to create and deploy multimedia applications with WPF. You will learn about using windows and page-based navigation, implementing and formatting controls, working with events and data binding. You'll also learn about incorporation of multimedia elements including 3-D graphics, video and audio, and animations. Finally, you'll learn about using resources and deploying a WPF application.

Learning Objectives

Introduction to WPF and XAML

  • start the course
  • provide a high-level overview of WPF
  • use XAML in WPF applications
  • recognize the types of controls available in WPF and implement some common controls
  • implement panel controls for layout in WPF applications

XAML Language Features

  • work with resources in WPF applications
  • implement styles for elements in WPF applications
  • use templates to specify controls in WPF applications
  • describe working with storyboards and animations using XAML in WPF applications
  • create basic animations in WPF applications

WPF Controls - Deep Dive

  • use Windows for standalone applications
  • use page-based navigation for browser based applications
  • implement menus and tabs in WPF applications
  • implement rich text controls in WPF applications
  • use the ListView, DataGrid, and TreeView controls to display bound data in WPF applications

Model-View-Model Pattern

  • recognize the main features of data binding in WPF applications such as the DataContext dependency property, the Binding class, sources, and one-way and two-way binding
  • implement data binding in WPF applications
  • format or convert bound data in a WPF application
  • implement commands in WPF applications

Managed WPF and C#

  • recognize the event model of WPF
  • implement events in WPF applications

Extended WPF Functionality

  • recognize how to work with user input in WPF applications
  • implement touch capabilities in WPF applications
  • render graphics in WPF applications
  • work with 3-D graphics in WPF applications
  • incorporate audio and video in WPF applications


  • deploy WPF applications

Practice: Multimedia Applications using WPF

  • create a multimedia WPF application

Framework Connections

The materials within this course focus on the NICE Framework Task, Knowledge, and Skill statements identified within the indicated NICE Framework component(s):

Specialty Areas

  • Software Development