WPF and MVVM: Advanced Model Treatment

by Thomas Claudius Huber

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.

What you'll learn

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.

Table of contents

About the author

Thomas is a Microsoft MVP for Windows Development. He works as a developer, consultant, and trainer in the fields of .NET, C#, TypeScript, XAML, and Azure. Thomas is a well-known speaker and book author. He has written several special interest books in his areas, including an extensive handbook for Windows Presentation Foundation and a handbook on development with TypeScript. Thomas lives in Germany's Black Forest with his wife and their three daughters. In his spare time, he plays football and ... more

Ready to upskill? Get started