Building WPF apps with Visual Studio, Unit Test and MVVM

5 Day Course
Hands On
Official Microsoft Curriculum

This course has been retired. Please view currently available Microsoft Visual Studio Training Courses.


Collapse all

A Brief Tour around WPF (3 topics)

  • WPF Key Features
  • XAML and its WPF-specific extensions
  • Namespaces

Unit Test (7 topics)

  • Testing is not optional!
  • The Test-Driven cycle
  • The Unit Test Mindset and its use as a Design Tool
  • Mocks and Stubs
  • MSTest and Nunit
  • How Unit Test, MVVM and Mocking all fit together
  • NCrunch (note this is not a mandatory tool on the course, but it is very convenient)

Layout and MVVM (7 topics)

  • Layout essentials
  • The Panels - Grid, StackPanel etc
  • The Cider Editor and how to use it effectively
  • Some handy Visual Studio windows
  • Visibility and Z-Order
  • Introducing some controls
  • The Unit Test Scenario and an introduction to Data Binding, Data Context and binding errors

Data Templates (4 topics)

  • Resources
  • Data Templates
  • Data template Selectors
  • Master Detail lists

Commands (6 topics)

  • Routed Events
  • Commands
  • The parts of a command
  • BuiltIn commands
  • Commands in MVVM and the RelayCommand
  • Dialog boxes in MVVM

Data Dependency Injection (5 topics)

  • DI Framework
  • Unity
  • Take control of startup
  • Constructor and Property injection
  • DI and Unit Test

More Data Binding (4 topics)

  • The Design-Time experience
  • INotifyPropertyChanged
  • Update SourceTrigger
  • The Observable Collection

Converters (3 topics)

  • BuiltIn converters
  • The straight-through converter
  • Conditional formatting

Validation (6 topics)

  • Field-level and Form-level validation
  • The ValidationRule
  • ValidatesOnExceptions
  • Notification
  • The Error Template
  • IDataErrorInfo

Dependency Properties and Attached Properties (3 topics)

  • The need for smart properties
  • The WPF additional needs
  • The Dependency Tree

Styles and Templates (3 topics)

  • Styles
  • Templates
  • More resources

User Controls (2 topics)

  • Packaging as User Controls
  • The need for Dependency Properties in User Controls

Filtering Sorting and Grouping (1 topic)

  • The Built-in capabilities of WPF

Entity Framework (2 topics)

  • DataBinding using EntityFramework
  • Updates

Animations (2 topics)

  • Animation fundamentals
  • Triggers in XAML

Deployment (2 topics)

  • Conventional .msi deployment
  • Using Click-Once deployment with WPF


  • Please note - this course makes use of digital courseware, so two monitors will be required for each delegate. If you are attending this course remotely you will need to ensure that this setup is possible and works before attending.
  • Delegates should already have experience of using the C# programming language; this can be gained by attending QA's C# programming language course. The course uses Visual Studio 2015, but experience with VS2010 onwards would be sufficient. Delegates should also already have experience of LINQ and be familiar with the Code First approach of Entity Framework6 (or higher)
  • It is not required to have knowledge of Windows Forms programming
  • This course is ideal for Developers and Team Leaders who will be using Windows Presentation Foundation and the Microsoft .NET Framework to write and deploy Windows applications.

Additional Learning

The courses below may help you meet the knowledge level required to take this course.

  • The VB.NET Programming Language

    This 5-day course provides delegates with the skills required to use VB.NET to write .Net Framework applications.

    4 Day Course Hands On Training Official Curriculum Course Code QAVB
    Classroom Virtual Classroom Private Group - Virtual Self-Paced Online

Course PDF