WPF MVVM in Depth
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
- Version Check 0m
- Welcome 1m
- Separation of Concerns 1m
- Separation of Concerns in MVVM 2m
- MVVM Goals and Benefits 2m
- Related UI Separation Patterns 2m
- MVVM across Platforms 1m
- MVVM Responsibilities 1m
- Model Responsibilities 1m
- View Responsibilities 1m
- ViewModel Responsibilities 3m
- Client Services Responsibilities 2m
- Equation of MVVM 1m
- View/ViewModel Construction 1m
- Summary 1m
- Overview 1m
- View-First Construction 2m
- Implementing View-First MVVM Hookup 6m
- View-First with ViewModelLocators 2m
- Implementing MVVM Hookup with ViewModelLocator 6m
- Data Binding Support for MVVM 2m
- Using Data Binding for MVVM Data Flows 4m
- ViewModel-First Construction with DataTemplates 2m
- Using Explicit and Implicit DataTemplates 3m
- Leveraging Implicit DataTemplates for ViewModel-First MVVM Hookup 3m
- No One's on First 1m
- Summary 1m
- Introduction 1m
- Commands for View to ViewModel Communication 2m
- Using Commands for View to ViewModel Communication 7m
- Attached Properties and Behaviors 3m
- Implementing an Attached Behavior 4m
- Using the XAML Behaviors for WPF 4m
- Property Change Notifications 1m
- Leveraging INotifyPropertyChanged 4m
- Implementing Custom Blend Behavior with INotifyPropertyChanged Trigger 5m
- Summary 1m
- Overview 1m
- Naming MVVM Components 4m
- Locating MVVM Components 2m
- MVVM Hierarchies and Navigation 1m
- Demo Use Case Review 1m
- Building out an MVVM Hierachy 7m
- Encapsulating INotifyPropertyChanged 3m
- Navigating with View Switching 3m
- Loading Data into a ViewModel 5m
- Navigating with Parameters 3m
- Navigating for Adding and Editing Customers 6m
- Summary 1m
- Overview 1m
- Using the Visual Studio Designer and Data Sources 1m
- Scaffolding an Edit View in Visual Studio 4m
- Wrapping Model Objects 3m
- Handling Commands and Using Converters 6m
- Validating Input in MVVM 1m
- Adding Validation to an Input View 7m
- Using Dependency Injection 3m
- Adding Dependency Injection for Client Services 6m
- Searching and Filtering Data 3m
- Leveraging an MVVM Toolkit 3m
- Summary 1m
Course FAQ
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.
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
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.
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
For this course you should be familiar with WPF applications. You should also have at least a general understanding of Views and ViewModels