Skip to content

Languages

This page is also available in 简体中文 and 日本語.

Generators ​

MvvmAIO.Prism.SourceGenerators extends partial types at compile time. Attributes live in MvvmAIO.Prism.Core (namespace Prism.SourceGenerators).

Partial types

partial is required wherever generated members merge into your declaration. PSG0001–PSG0005 cover the common mistakes; all five have a MakePartial code fix in the IDE.

Topics ​

TopicSummary
ObservablePropertyField and C# 13+ partial-property targets, PropertyAccess, OnChanging / OnChanged.
Notifications & forwarding[NotifyPropertyChangedFor], [NotifyCanExecuteChangedFor], [property: …] forwarding.
DelegateCommandSync commands, CanExecute, Task execute, ValueTask.
AsyncDelegateCommandParallel runs, Catch, CancelAfter, ObservesCanExecute, Prism 8 vs 9 packages.
ObservesPropertyRe-evaluate CanExecute when properties change.
BindableBaseGenerated INPC for types not inheriting Prism BindableBase.
BindableValidatorINotifyDataErrorInfo validation via [BindableValidator] and [NotifyDataErrorInfo].
Container registrationRegister*, RegisterForNavigation, RegisterDialog, emitted IContainerRegistry calls.
NavigationAwareINavigationAware lifecycle members; Prism 8 Prism.Regions and Prism 9 Prism.Navigation.Regions.
DialogAwareIDialogAware members; Prism 8 Prism.Services.Dialogs and Prism 9 Prism.Dialogs.
NavigateCommandIRegionManager.RequestNavigate via DelegateCommand or property-changed navigation.
ShowDialogCommandIDialogService.ShowDialog via DelegateCommand.

Diagnostics ​

All compiler IDs are documented in Diagnostics reference.

Next ​

Released under the MIT License.

Released under the MIT License.