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 Windows Presentation Foundation (WPF) with MVVM for .NET 4.5 Training

Course ID: INT1142
Duration: 5 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 Windows Presentation Foundation (WPF) with MVVM course will examine this key API beginning with the topics of XAML, code files and WPF development tools.  In the WPF tools, the separation of concerns technique provided by Model-View-ViewModel (MVVM) design pattern will be explored.  Attendees will learn about the WPF control content model, styles and control templates, data binding, graphical rendering services and the construction of navigationally-based applications. During the application development the use of unit tests to support Test Driven Development will be examined.  As well, attendees will gain hands on experience using both Visual Studio and Blend for Visual Studio to build WPF applications.

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

  • Understand the WPF programming model with and without XAML
  • Understand the purpose of the MVVM design pattern
  • Build new XAML applications with the MVVM design pattern
  • Make use of Unit Tests to validate the application development efforts
  • Learn to build custom user controls
  • Work with WPF data binding
  • Work with animation and graphical rendering
  • Learn to use Blend for Visual Studio to build WPF user interfaces


This class is intended for experienced .NET 4.0 software developers. No knowledge of WPF is assumed. If you need to learn the fundamentals of .NET, you may be interested in Intertech’s C# Training, VB.NET Training or ASP.NET Training


Understanding of Object Oriented Programming using C# or VB .NET 4.0 development experience

Course Outline

Introducing WPF

  • Understand the motivation behind WPF
  • Examine the various ‘flavors’ of WPF applications
  • Overview the services provided by WPF
  • Examine the core WPF assemblies and namespaces
  • Work with the Window and Application class types
  • Learn the syntax of XAML
  • Understand the XAML / code relationship

The Intent of the MVVM Design Pattern 

  • 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 Blend Databound project template
  • Examine the use of Unit Tests and Refactoring with MVVM

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

WPF Controls

  • Survey the core WPF control types
  • Review the WPF control programming model
  • Learn to position controls using layout managers
  • Understand the role of WPF control commands
  • Work with the WPF Ink API
  • Use Microsoft Expression Blend to build user interfaces

WPF Document Controls

  • Understand the scope of the WPF documents API
  • Distinguish between fixed documents and flow documents
  • Populate a document with inline and block elements
  • Work with the WPF document APIs
  • Configure document controls using Blend

WPF Graphical Rendering Services

  • Understand the scope of WPFs graphical rendering services
  • Work with the Shape types
  • Work with Brushes and Pens
  • Apply graphical transformations
  • Understand the role of geometries and drawings
  • Work with the visual programming layer
  • Work with the Blend graphical toolkit

WPF Resource Management

  • Learn to manage binary resources
  • Understand the role of logical resources
  • Work with resources in XAML and procedural code
  • Work with resource dictionaries
  • Understand the resource lookup mechanism
  • Know the role of dynamic resources
  • Learn how to make use of system resources
  • Use Microsoft Expression Blend to manage logical resources

WPF Styles

  • Learn how to define and apply WPF styles
  • Learn to limit where a style can be applied
  • Build new styles based on existing styles
  • Understand the use of triggers
  • Define control styles using Blend

WPF Animation Support

  • Understand the scope of WPF’s animation services
  • Define animations in code and XAML
  • Work with linear interpolation animations
  • Work with key-frame-based animations
  • Work with path-based animations
  • Implement hit testing and drag-and-drop functionality
  • Creating animations using the Blend IDE

WPF Templates and User Controls

  • Understand the relationship between WPF logical and visual trees
  • Learn to build custom control templates
  • Build templates which make use of triggers
  • Work with the .NET 4.0 Visual State Manager
  • Create custom UserControls
  • Understand the ContentPresenter class
  • Understand the TemplateBinding markup extension
  • Understand the role of dependency properties
  • Understand the role of routed events
  • Generate UserControls from graphical content using Blend

WPF Data Binding

  • Understand the role of WPF data binding
  • Understand control-to-control data binding
  • Learn to work with data bindings in XAML and code
  • Learn the role of the IValueConverter interface
  • Learn to bind to custom collections of objects
  • Learn the role of the INotifyPropertyChanged interface
  • Define and make use of data templates
  • Create data validation logic
  • Examine the data binding support within Expression Blend

Communication Between the MVVM 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)

Free Resources from Intertech

Free Book Chapter: Learn the Core MVVM Design Pattern

Free Chapter from Intertech's MVVM Course

Free Book Chapter: Intertech's WPF Course