IScreen interface¶
Defined in
Namespace: ReactiveUI
Assembly: ReactiveUI.dll
Full name: ReactiveUI.IScreen
Modifiers: public abstract
Summary¶
Represents any object capable of hosting its own navigation stack via RoutingState.
Applies to
net10.0, net10.0-android36.0, net10.0-ios26.0, net10.0-macos26.0, net10.0-windows10.0.19041, net10.0-tvos26.0, net10.0-maccatalyst26.0, net10.0-desktop1.0, net10.0-browserwasm1.0, net9.0, net9.0-tvos18.0, net9.0-maccatalyst18.0, net9.0-windows10.0.19041, net9.0-desktop1.0, net9.0-browserwasm1.0, net9.0-macos15.0, net9.0-ios18.0, net9.0-android35.0, net8.0, net8.0-macos14.5, net8.0-macos14.2, net8.0-maccatalyst17.5, net8.0-ios17.5, net8.0-tvos18.0, net8.0-macos15.0, net8.0-ios18.0, net8.0-windows10.0.19041, net8.0-maccatalyst18.0, net8.0-tvos17.2, netstandard2.1, net481, net462
Remarks¶
Most applications expose a single implementation of IScreen (for example a shell or app view model) that owns the global router. Individual view models can accept an IScreen via constructor injection so they can request navigation without directly referencing UI types.
Examples¶
<![CDATA[
public class AppViewModel : ReactiveObject, IScreen
{
public RoutingState Router { get; } = new();
public ReactiveCommand<Unit, IRoutableViewModel> ShowSettings { get; }
public AppViewModel()
{
ShowSettings = ReactiveCommand.CreateFromObservable(
() => Router.Navigate.Execute(new SettingsViewModel(this)));
}
}
]]>
Properties¶
| Name | Summary |
|---|---|
| Router | Gets the router associated with this screen. The router coordinates navigation requests for all child view models attached to the screen. |