Skip to content
NLNuvyntra Labs

Documentation

Source generators

[Notify], command attributes, register, routes, persist, and auth. UseMvvmExpress applies generated routes via a ModuleInitializer.

Shipped

AttributeGenerates
[Notify] / [NotifyAlso]Property + changing/changed + dependents
[ModelCommand] / [AsyncModelCommand]Command property + CanExecute hookup
[RegisterViewModel] / [RegisterView]IServiceCollection extension
[Route]Route table for Shell / navigator
[PersistState]Save/restore members via IStateStore
[RequiresAuth] / [RequiresRole]Guard metadata for INavigationAuthPolicy
<PackageReference Include="Plugin.Maui.MVVMExpress.SourceGenerators" Version="1.0.0" PrivateAssets="all" />

builder.UseMvvmExpress(o => o
    .UseNavigationPage()
    .UseDialogs()
    .UseAuth<LoginViewModel>());
// generated [Route] / [RequiresAuth] apply from UseMvvmExpress

services.AddGeneratedViewModels(); // optional explicit call

Convention scan of *Page / *ViewModel is a debug fallback, not the AOT path. Typed NavigateToAsync<TViewModel>() and generated registrations are the supported story.