Book Image

.NET MAUI Cross-Platform Application Development - Second Edition

By : Roger Ye
3 (1)
Book Image

.NET MAUI Cross-Platform Application Development - Second Edition

3 (1)
By: Roger Ye

Overview of this book

An evolution of Xamarin.Forms, .NET MAUI is a cross-platform framework for creating native mobile and desktop apps with C# and XAML. Using .NET MAUI, you can develop apps that’ll run on Android, iOS, macOS, and Windows from a single shared codebase. In this revised edition of .NET MAUI Cross-Platform Application Development you will be introduced to .NET 8 and get up to speed with app development in no time. The book begins by showing you how to develop a cross-platform application using .NET MAUI, including guidance for migrating from Xamarin.Forms. You’ll gain all the knowledge needed to create a cross-platform application for Android, iOS, macOS, and Windows following an example project step by step. As you advance, you’ll integrate the latest frontend technology into your app using Blazor components, including the new Blazor Bindings feature. After this, you’ll learn how to test and deploy your apps. With new coverage on creating mock .NET MAUI components, you can develop unit tests for your application. You will additionally learn how to perform Razor component testing using bUnit. By the end of this book, you’ll have learned how to develop your own cross-platform applications using .NET MAUI.
Table of Contents (18 chapters)
Free Chapter
1
Part 1: Exploring .NET MAUI
9
Part 2: Implementing .NET MAUI Blazor
13
Part 3: Testing and Deployment
16
Other Books You May Enjoy
17
Index

XAML markup extensions

Even though we can initialize class instances using XAML elements and set class members using XAML attributes, we can only set them as predefined constants in a XAML document.

To enhance the power and flexibility of XAML by allowing element attributes to be set from a variety of sources, we can use XAML markup extensions. With XAML markup extensions, we can set an attribute to values defined somewhere else, or a result processed by code at runtime.

XAML markup extensions can be specified in curly braces, as shown here:

<Button Margin="0,10,0,0" Text="Learn more"
        Command="{Binding OpenWebCommand}"
        BackgroundColor="{DynamicResource PrimaryColor}"
        TextColor="White" />

In the preceding code, both the BackgroundColor and Command attributes have been set to markup extensions. BackgroundColor has been set to DynamicResource and Command has been set to the OpenWebCommand...