Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Learn WinUI 3

You're reading from   Learn WinUI 3 Leverage WinUI and the Windows App SDK to create modern Windows applications with C# and XAML

Arrow left icon
Product type Paperback
Published in Oct 2023
Publisher Packt
ISBN-13 9781805120063
Length 386 pages
Edition 2nd Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Alvin Ashcraft Alvin Ashcraft
Author Profile Icon Alvin Ashcraft
Alvin Ashcraft
Arrow right icon
View More author details
Toc

Table of Contents (20) Chapters Close

Preface 1. Part 1:Introduction to WinUI and Windows Applications
2. Chapter 1: Introduction to WinUI FREE CHAPTER 3. Chapter 2: Configuring the Development Environment and Creating the Project 4. Chapter 3: MVVM for Maintainability and Testability 5. Chapter 4: Advanced MVVM Concepts 6. Chapter 5: Exploring WinUI Controls 7. Chapter 6: Leveraging Data and Services 8. Part 2:Extending WinUI and Modernizing Applications
9. Chapter 7: Fluent Design System for Windows Applications 10. Chapter 8: Adding Windows Notifications to WinUI Applications 11. Chapter 9: Enhancing Applications with Community Toolkits 12. Chapter 10: Accelerating App Development with Template Studio 13. Part 3:Build and Deploy on Windows and Beyond
14. Chapter 11: Debugging WinUI Applications with Visual Studio 15. Chapter 12: Hosting a Blazor Application in WinUI 16. Chapter 13: Take Your App Cross-Platform with Uno Platform 17. Chapter 14: Packaging and Deploying WinUI Applications 18. Index 19. Other Books You May Enjoy

Working with events and commands

It’s time to update the project to move the event handling code to MainViewModel. By the end of this section, you will have removed all the code that was added to the MainWindow.xaml.cs file, except for the ViewModel property. This will be great for the separation of concerns, as well as for the maintainability and testability of the project.

We could use the same process of wiring up events with the Add button’s Click event and connect it to a method on the MainViewModel class. There are two problems with this approach:

  • The View and View Model layers become more tightly coupled, reducing maintainability
  • UI concerns are injected into the view model, reducing the testability of the class

Let’s take another route. The MVVM pattern has the concept of Commands to handle events. Instead of adding a handler to the event of our view element, we will bind that event to a property on the view model. The Command properties...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime