Consulting Training Blog Careers About Us Contact Us
All Classes Will Be Held Virtually – Live Online Intertech's Training Division has been successfully instructing professionals through virtual live online training since the advent of the smartboard. It is a proven form and offers the convenience of live questions, group interaction, and labs with an instructor looking over your shoulder. Because of this, we will continue all classes live but virtually, including Agile and Scrum instruction, so businesses and individual’s seeking professional development can keep moving forward during these unexpected times.

Complete MVVM Training

Course ID: INT1451
Duration: 2 Days

Upcoming Classes

Click the Get Notified button for priority notification when a class is next scheduled.

Get Notified

On Site/Private

Can't find a class that fits right for you? Contact us to inquire about scheduling your own private class

Contact Us


Intertech’s Complete MVVM course introduces XAML GUI developers to the role of the Model-View-ViewModel (MVVM) design pattern. The course opens by exploring common challenges found when building XAML UIs, and how incorporating the “separation of concerns” within your applications can increase maintainability, testability (and "blendability").

Once the role of MVVM has been solidified, the course provides refactoring activities to give developers experience incorporating MVVM into an existing XAML solution. Attendees will also implement the MVVM design pattern from the ground up, as well as using various Expression Blend and Visual Studio project templates. 

The class concludes with a brief overview of several popular MVVM frameworks which can be used as a foundation for future MVVM projects.

Bring This Course To You

For groups of 5 or more, let Intertech bring this course to your location. Customized versions tailored towards your objectives are also available.

Learn More

Learning Objectives

  • Know the purpose of the MVVM design pattern
  • Know the scope of the MVVM design pattern
  • Refactor XAML applications to use the MVVM design pattern
  • Build new XAML applications with the MVVM design pattern


This class is intended for C# programmers who have a solid background building GUIs using XAML based technologies (WPF, Silverlight or Windows Phone 7).


  • Attendees should be fluent OOP developers.
  • Attendees should have a level of WPF/Silverlight experience equivalent to Intertech’s Complete WPF or Complete Silverlight courses.
  • Attendees should be comfortable using Expression Blend and Visual Studio to build XAML UIs.

Course Outline

The Intent of the MVVM Design Pattern  

  • Overview the scope of Intertech's Complete MVVM course
  • Examine some limitations of a typical tightly-coupled GUI application
  • Know the pros and cons of the MVVM design pattern
  • Know the responsibilities of the Model
  • Know the responsibilities of the ViewModel
  • Know the responsibilities of the View
  • Explore the structure of an Expression Blend Databound project template

The Core MVVM Design Pattern

  • Implement a custom data model
  • Build a custom ViewModel class
  • Know the role of the iNotifyPropertyChanged interface
  • Create "code free" View objects
  • Connect a View to the ViewModel via XAML
  • Build a WPF application using the core pieces of the MVVM design pattern

Communication Between the Layers

  • Use data binding to pass View data to the VM
  • Understand the roll of custom command objects
  • Know the distinction between the Action<> and Func<> delegates
  • Create custom command objects which communicate with the ViewModel
  • Bind UI objects to custom command objects
  • Examine ways to handle UI state changes (enabling / disabling of controls, etc)

Survey of Tools and Frameworks

  • Briefly survey some common MVVM frameworks
  • Know the role of XAML Power Toys
  • Point out a number of useful online resources for additional MVVM information



Free Resources from Intertech

Free Guide: Tips For A Virtual Development Environment

eBook: Agile Open-Source Projects with Visual Studio Online

Free Book Chapter: Intertech's WPF Course