Skip to content

IActivatableViewModel interface

Defined in

Namespace: ReactiveUI.Reactive Assembly: ReactiveUI.Reactive.dll Full name: ReactiveUI.Reactive.IActivatableViewModel Modifiers: public abstract

Summary

         Implementing this interface on a ViewModel indicates that the ViewModel
         is interested in Activation events. Instantiate the Activator, then call
         WhenActivated on your class to register what you want to happen when
         the View is activated. See the documentation for ViewModelActivator to
         read more about Activation.
         

Applies to

net10.0, net10.0-maccatalyst26.0, net10.0-desktop1.0, net10.0-browserwasm1.0, net10.0-tvos26.0, net10.0-windows10.0.19041, net10.0-macos26.0, net10.0-ios26.0, net10.0-android36.0, net9.0, net9.0-tvos18.0, net9.0-macos15.0, net9.0-maccatalyst18.0, net9.0-windows10.0.19041, net9.0-ios18.0, net9.0-desktop1.0, net8.0, net8.0-windows10.0.19041, net8.0-ios18.0, net8.0-maccatalyst18.0, net8.0-macos15.0, net8.0-tvos18.0, net8.0-ios17.5, net8.0-maccatalyst17.5, net8.0-macos14.5, netstandard2.1, net481, net462, net471

Remarks

Typical usage involves creating a ViewModelActivator field and calling WhenActivated in the constructor to compose subscriptions that should live only while the view is displayed.

Examples

<![CDATA[
 public sealed class DetailsViewModel : ReactiveObject, IActivatableViewModel
 {
 public DetailsViewModel()
 {
 Activator = new ViewModelActivator();
 
 this.WhenActivated(disposables =>
 {
 LoadCommand.Execute().Subscribe().DisposeWith(disposables);
 });
 }
 
 public ViewModelActivator Activator { get; }
 }
 ]]>

Properties

NameSummary
ActivatorGets the Activator which will be used by the View when Activation/Deactivation occurs.

Extension members