Discorver the Third .NET MAUI (Release Candidate) Features!

bytehide

ByteHide

Posted on June 28, 2022

Discorver the Third .NET MAUI (Release Candidate) Features!

Microsoft is not letting time pass and continues to keep the focus on .NET MAUI, its .NET platform focused on the creation of cross-platform applications. This time it officially presents the launch of the third Release Candidate of .NET MAUI adding even more new features.

I remind you that Microsoft is already giving official support for these Release Candidates and that you only need to upgrade to the latest version of Visual Studio 2022 to take full advantage of the new features and functionality included.

No more intro, let’s see what’s new in .NET MAUI!


New navigation options

Now navigation in the applications becomes much easier! Microsoft now provides 2 different ways to implement navigation in your applications developed with .NET MAUI.

The first one is to use the base navigation page controls (such as NavigationPage, FlyoutPage or TabbedPage).

The second one (and the one that Microsoft recommends because it is more powerful) is to start and run the application in Shell. This way you will be able to have more accurate and optimized details for the possible patterns in both desktop and mobile .NET MAUI applications.

This second option is the one recommended by Microsoft to start directly with an optimized browsing experience for any platform. However, if at any time you feel like changing the default optimized navigation for much more specific custom controls, you can do it without any problem!

Here is a small Microsoft example of what it would look like:

Image description


ShellContent

For those who don’t know, ShellContent is a Xamarin.Forms class that now with .NET MAUI allows you to add a wide variety of flyout customizations such as customizing the background, backdrop or even the header, footer or the entire content.

Image description

This also allows you to improve navigation through URI paths allowing you to improve performance at application startup time loading pages only when required using data templates.

Again, Microsoft leaves us an example:

<FlyoutItem Title="Home" FlyoutIcon="home.png">
    <ShellContent ...>
</FlyoutItem>

<FlyoutItem Title="Items" FlyoutIcon="store.png">
    <ShellContent ...>
</FlyoutItem>
Enter fullscreen mode Exit fullscreen mode

And the result would be as follows:

Image description


Route customization

Declaring and executing new routes is now much easier. According to Microsoft, if we need navigation to deeper pages, we just have to declare them and navigate by URI with the possibility of passing parameters.

  • Declaring a new route:
Routing.RegisterRoute(nameof(SettingsPage), typeof(SettingsPage));
Enter fullscreen mode Exit fullscreen mode
  • Executing a route:
await Shell.Current.GoToAsync(nameof(SettingsPage));
Enter fullscreen mode Exit fullscreen mode
  • Passing parameters
await Shell.Current.GoToAsync($"{nameof(SettingsPage)}?setting=appearance");
Enter fullscreen mode Exit fullscreen mode
  • Receiving parameters
[QueryProperty(nameof(SelectedSubSection), "setting")]
public partial class TipsPage : ContentPage
{
    ...
    public string SelectedSubSection { get;set;}
    ...
}
Enter fullscreen mode Exit fullscreen mode

Remember that if you want to know in depth all the new features and innovations, I recommend you to consult the original Microsoft source: .NET MAUI RC3

💖 💪 🙅 🚩
bytehide
ByteHide

Posted on June 28, 2022

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related