WPF and MVVM: Advanced Model Treatment

In this course, you learn how to use Model-wrappers in your MVVM-application for several scenarios: to highlight changed fields, to highlight invalid fields, to display validation errors, to enable the save button only if there are changes, and much more.
Course info
Level
Intermediate
Updated
Nov 18, 2015
Duration
6h 55m
Table of contents
Introduction
Notifying About Model Changes
Tracking Model Changes
Displaying Model Changes
Validating the Model
Displaying Validation Errors
Generating Model-wrappers with T4
Description
Course info
Level
Intermediate
Updated
Nov 18, 2015
Duration
6h 55m
Description

In many modern architectures, your client-application just receives simple Models from the server. These Models often don't have the logic you need in your application. It starts already with the missing information if the Model is changed or not. Without that information, you can't enable or disable the save-button based on the fact if the user has changed the Model or not. This is just one problem that is solved by the powerful Model-wrappers that we create in this course. These Model-wrappers will contain the typical functionality you need in your application: change notification, change tracking, and validation. You learn how to build these Model-wrappers by using Test Driven Development (TDD). And, as this course is about WPF and MVVM, you learn how to use the Model-wrappers in your MVVM-application. You learn how to highlight changed fields with a different background-color, how to display the original value of a changed field in the tooltip, how to highlight invalid fields, how to display validation errors, how to enable the save button only if there are changes, how to check for changes when closing a tab or even the application, how to reset the Model to its original state, and much more. Throughout this course, you learn how to extend a typical MVVM-based WPF-application called FriendStorage with all this functionality.

About the author
About the author

Thomas is a well-known author, software developer, and speaker from Germany. He specializes in .NET, C#, TypeScript, XAML, and Azure.

More from the author
Testing .NET Code in Visual Studio 2019
Intermediate
2h 53m
Jul 16, 2019
XAML: Getting Started
Beginner
5h 17m
Feb 27, 2019
More courses by Thomas Claudius Huber