Hosting & AppBuilder

Die App wird in der AppHostBuilderExtension konfiguriert, welche Ihr unter “Hosting” im Projektordner findet. Um alle Features der App-Vorlage zu initialisieren, muss die Methode “ConfigureApp” in der “MauiProgram.cs” mit angehängt werden. Dabei werden folgende Methoden ausgeführt. Im MauiProgramm sieht das dann wie folgt aus. Singleton & Transient Grundsätzlich unterscheiden wir hier zwischen den zwei genannten…

Image Description

Die App wird in der AppHostBuilderExtension konfiguriert, welche Ihr unter “Hosting” im Projektordner findet. Um alle Features der App-Vorlage zu initialisieren, muss die Methode “ConfigureApp” in der “MauiProgram.cs” mit angehängt werden.

The following methods are executed.

public static MauiAppBuilder ConfigureApp(this MauiAppBuilder builder)
{
    builder
        .RegisterDispatcher()
        .RegisterMainViewModels()
        .RegisterPageViewModels()
        .RegisterModalViewModels()
        .RegisterSettingsViewModels()
        .RegisterMainViews()
        .RegisterPageViews()
        .RegisterModalViews()
        .RegisterSettingsViews()
        .RegisterNavigationRoots();
    ;
    return builder;
}

In the MauiProgram it looks like this.

public static MauiApp CreateMauiApp()
{
    MauiAppBuilder builder = MauiApp.CreateBuilder();
    builder
        .UseMauiApp<App>()
        .UseMauiCommunityToolkit()
        .ConfigureSyncfusionCore()
        .InitializeSharedMauiStyles()
        .InitializeSharedSyncfusionStyles()
        .ConfigureApp()
        //...
        ;
        //...
}

Singleton & Transient

Basically, we differentiate between the two types of registration mentioned. All ViewModels and Views that are or should be available over the app lifecycle are registered as a singleton. This applies to all main pages.

Alle anderen Elemente, welche nur solange “Leben” sollen, wie diese benötigt werden, werden als Transient registriert. All solche Elemente werden, sobald benötigt, erstellt und nach Gebrauch wieder freigegeben (GC).

For new View & ViewModels

Important! If you add new Views and/or ViewModels, you must configure or make them known in the AppHostBuilderExtension. Depending on the type, the following methods are available for this.

  • RegisterMainViewModels / RegisterMainViews: For all main page/viewmodels
  • RegisterPageViewModels / RegisterPageViews: Für alle Views & ViewModels im “Pages”-Ordner
  • RegisterModalViewModels / RegisterModalViews: Für alle Views & VIewModels im “Modal”-Ordner
  • RegisterSettingsViewModels / RegisterSettingsViews: Für alle Views & ViewModels im “Settings”-Ordner

Was this article helpful to you?

Yes No

Related Articles