Shipped
| Attribute | Generates |
|---|---|
| [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 callConvention scan of *Page / *ViewModel is a debug fallback, not the AOT path. Typed NavigateToAsync<TViewModel>() and generated registrations are the supported story.