Course Overview

Today's .Net developer has three choices for building standalone desktop applications. The time-tested Windows Forms API is a popular choice but is outdated and surpassed by newer technologies. Modern "Metro" style or "Windows Store" apps are gorgeous, and have access to an impressive set of services, but are intentionally constrained by sandbox rules which block them from performing certain tasks or accessing system resources. Thus, Modern apps are often not a suitable choice for creating hardcore developer utilities or other "large scale" line-of-business applications. Luckily, Microsoft has already pioneered a modern, rich client UI system – Windows Presentation Foundation – that is the perfect choice for building your next serious client application.

This fast paced course explores the guts of the WPF system, touching on XAML internals, layout, routed events, styles, animation and much more. Modules are included on UI components such as list controls and grids. You'll see how to incorporate the popular Model-View-ViewModel (MVVM) pattern in your application and learn async techniques to make sure your data access never blocks the UI thread.

Since WPF binding tools are essential for any serious application development, the course covers a broad data-binding topic list, including XAML binding, data-converters, data formatting, binding events, priority-multi-source binding, data validation and exception handling, list binding, XML and object binding. You'll see how data-templates allow you to completely revamp your data presentation, and how data triggers can configure your UI based on data values. If you want to learn all things WPF, this is the course for you.

Key Learning Areas

  • Learn the detailed story about how WPF and XAML really work
  • Dig deep into data-binding tools and concepts
  • Harness advanced data-binding features
  • Understand the layout and panel system
  • Get familiar with new WPF concepts like Dependency properties. commands and routed events.
  • Discover why the Model-View-ViewModel pattern is loved by XAML developers everywhere
  • See how control and data templates modernize UI development
  • Includes lots of designer tips for developing interesting and modern looking applications
  • Extensive set of hands-on labs included each day to ensure comprehension of desktop application concepts

Course Outline

  • Desktop application principles
  • Understanding XAML
  • Core concepts of WPF framework
  • Managing Layout
  • Events, Actions and Behaviors
  • Data-binding Core Concepts
  • Data Sources
  • Collection Binding
  • Representing data with List controls
  • Data Template
  • Design Time Binding
  • Data Input Validation
  • Data-binding further topics
  • Mastering the Model-View-ViewModel pattern
  • Creating reusable graphical resources
  • Transform and enhance your elements with styles and templates
  • Working with Azure Services
  • Async features in WPF
  • Visual States and Visual State Manager
  • Performance Tuning and Testing

Who Benefits

Desktop applications are still the best way to build complex applications that leverage the low-level, powerful features baked into the Windows operating system. And WPF is the best choice for C#/VB.NET developers looking to build robust desktop applications. Discover why WPF is the principal desktop development tool for businesses around the world.


The expected audience for this course is development teams interested in building .NET desktop applications for the Windows platform. Developers who attend the course should be familiar with .NET and C# or Visual Basic.