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)
Part 1 – Getting Started
Part 2 – Intermediate Topics
Part 3 – Advanced Topics

Data binding

One of the most powerful aspects of .NET MAUI is data binding and data binding works extremely well with MVVM. The idea is to bind data (values) to controls. For example, we might have a class with the text we want to display on this label held on a public property (you can only bind to public properties). Rather than having to copy that text from the class to the label, we just tell the label the name of the property.

The public property will be kept in a class in ViewModel. But we have to answer the question how does View know where to look for the property? That is handled by setting BindingContext.

Let’s look at a simple example. In ViewModel, create a new file named MainViewModel.cs.

Naming ViewModel

The most common naming convention is to name the page with the word page, such as MainPage or LoginPage but to drop the word page in the ViewModel name, such as MainViewModel and LoginViewModel. So, that is what we’ll do in this book.