Simple play icon Course

WPF MVVM in Depth

by Brian Noyes

This course provides end-to-end coverage of what you need to know to effectively apply the MVVM pattern to WPF applications.

What you'll learn

The Model-View-ViewModel (MVVM) pattern has become one of the most common design patterns for WPF and XAML client applications. In this course, WPF MVVM in Depth, you'll learn about the MVVM design pattern and how to apply it to a wide range of compositional scenarios for building out WPF client applications.

First, you'll delve into the motivations for using the pattern, the fundamental concepts of the pattern, and how to apply it for a number of common scenarios.
Next-, you'll explore various different ways of defining Views, ViewModels, and how to attach them to one another.
Then, you'll discover how to use common data bound controls in the context of MVVM and how to hook them to ViewModels and Models, both statically and dynamically. Finally, you'll discover how to use View and ViewModel hierarchies and set up navigation between Views within a container.

When you're finished with this course, you'll have the necessary knowledge needed to apply the MVVM design pattern to your WPF client applications.

Table of contents

Course Overview

Course FAQ

What is MVVM?

MVVM, or the Model-View-ViewModel design, is a software architectural pattern based on separating front- and back-end development components. It is an effective way to create client applications that capitalizes on the key features of the WPF platform.

What are the advantages of using MVVM?

Some advantages of MVVM include:

  • Helps map data closer to view parts
  • Provides 2-way communication between pattern parts
  • View controllers are considered part of the view layer
  • Smaller, reusable, and testable components
Who should take this course?

This course is for those who want to learn how to effectlively apply the MVVM pattern to WPF applications and build a highly sought after skillset.

What will I learn in this course?

You will learn:

  • MVVM pattern fundamentals
  • Reasons to use MVVM pattern
  • How to apply MVVM for common scenarios
  • How to define Views and ViewModels
  • How to attach Views and ViewModels
  • View and ViewModel hierarchies
  • Much more
Are there any prerequisites?

For this course you should be familiar with WPF applications. You should also have at least a general understanding of Views and ViewModels

About the author

Brian Noyes is CTO and Architect at Solliance (, an expert technology solutions development company. Brian is a Microsoft MVP and specializes in client application architecture, full stack web development, cloud and microservice architecture. Brian has authored several books and dozens of technology publication articles, including Developer's Guide to Microsoft Prism 4, Data Binding with Windows Forms 2.0, and Smart Client Deployment with ClickOnce. Brian got started programmin... more

Ready to upskill? Get started