Book Image

.NET MAUI for C# Developers

By : Jesse Liberty, Rodrigo Juarez
3.7 (6)
Book Image

.NET MAUI for C# Developers

3.7 (6)
By: Jesse Liberty, Rodrigo Juarez

Overview of this book

While UI plays a pivotal role in retaining users in a highly competitive landscape, maintaining the same UI can be tricky if you use different languages for different platforms, leading to mismatches and un-synced pages. In this book, you'll see how .NET MAUI allows you to create a real-world application that will run natively on different platforms. By building on your C# experience, you’ll further learn to create beautiful and engaging UI using XAML, architect a solid app, and discover best practices for this Microsoft platform. The book starts with the fundamentals and quickly moves on to intermediate and advanced topics on laying out your pages, navigating between them, and adding controls to gather and display data. You’ll explore the key architectural pattern of Model-View-ViewModel: and ways to leverage it. You’ll also use xUnit and NSubstitute to create robust and reliable code. By the end of this book, you’ll be well-equipped to leverage .NET MAUI and create an API for your app to interact with a web frontend to the backend data using C#.
Table of Contents (18 chapters)
1
Part 1 – Getting Started
8
Part 2 – Intermediate Topics
12
Part 3 – Advanced Topics

Behaviors

The Editor control has a number of events. These can be handled by event handlers in the code-behind file, but for the reasons already explained (and explained) we’d rather not do that. So, here enters behaviors.

Behaviors let you add functionality to your controls without having to create subclasses. They tack on the behavior. What we want to do now is tack on the ability to manage commands in a control (Editor) that doesn’t have commands.

The .NET MAUI Community Toolkit comes with a plethora of behaviors, including EventToCommandBehavior. This wonderful behavior allows you to transform an event (which would be handled in the code-behind file) into a command, which can be handled in ViewModel.

The event we want to change in Editor is OnEditorCompleted, which is raised when the user hits the Enter key (or, on Windows, the Tab key):

<Editor
    FontSize="Small"
    HeightRequest="300"...