WPF Development

Windows Presentation Foundation (WPF) is Microsoft's recommended API for creating compelling and dynamic user interfaces based on XAML. This course provides comprehensive coverage of WPF, explaining how it differs from traditional Windows Forms development. The course also takes a detailed look at the Model-View-ViewModel design pattern and Prism.


4 days



  • Solid C# experience

What you'll learn

  • Understanding XAML syntax
  • Using resources, styles, and triggers
  • Data binding
  • Creating user interface effects
  • Defining control templates
  • Defining attached behaviours
  • Using MVVM and Prism

Course details

Getting Started with WPF

  • Overview of WPF concepts and features
  • Creating a simple WPF application

Event Handling

  • Overview of events
  • Bubbling events
  • Tunnelling events
  • Commands

Creating a User Interface

  • Page layouts
  • Content controls
  • Range-based controls
  • Items controls
  • Accessing the visual tree
  • Using the Ribbon control in WPF 4.5

Managing Windows

  • Window essentials
  • Creating modal and modeless dialogs
  • Pages and navigation

Resources, Styles, and Triggers

  • Logical resources
  • Defining styles
  • Style inheritance
  • Using triggers

Using Control Templates

  • Overview of control templates
  • Defining control templates for content controls
  • Defining control templates for items controls
  • Resource-only DLLs

Data Binding

  • Concepts and terminology
  • Binding a data source to a control
  • Binding to static properties in WPF 4.5
  • Handling property-change notifications
  • Conversion and validation
  • Custom binding in WPF 4.5

Data Binding to a Database

  • Binding to a data object
  • Updating the database

Data Binding to Collections

  • Binding to a collection
  • Defining data templates
  • Using collection views
  • Binding to ADO.NET data objects
  • Binding to LINQ and XML
  • Live shaping in WPF 4.5

Shapes, Transforms, and Brushes

  • Defining shapes
  • Creating and using transforms
  • Using brushes effectively


  • Multithreading with the dispatcher
  • BackgroundWorker
  • Tracking progress
  • Supporting cancellation

The MVVM Design Pattern

  • Overview of MVVM
  • MVVM application structure
  • MVVM programming techniques


  • Overview of Prism
  • Prism key technical concepts
  • Implementing a Prism application

Creating Windows Store Applications

  • Overview of the Windows Store
  • The role of XAML in a Windows Store application
  • Creating simple user interfaces for Windows Store