Runic.Navigation
Can veto a transition that retains or retires an entry.
The content-type-independent view of a
NavigationEntry, for hosts that present a region without knowing its content type. OnlyNavigationEntryimplements it.Initializes a new entry once, before it first becomes current.
Initializes a new entry created with typed input by
NavigationTarget.CreateorNavigationTarget.Create.The non-generic base of every
INavigationInitialize, so the navigator can recognize content that initializes with input through an interface check. ImplementINavigationInitializeinstead.A presentation of a navigator's content, attached with
RunicNavigator.AttachPresentation. Presentation integrations, such as the Runic Views runtime, implement it; applications do not.The content-type-independent view of a
NavigationRegion, for hosts that present a region without knowing its content type. OnlyNavigationRegionimplements it.Runs when a retained entry becomes current again.
A navigation target created by
NavigationTarget.Owns short, serialized mutations and reads for one mutable application-model graph.
Represents one ownership claim over a model graph's execution context.
Optionally implemented by an
IRunicModelContextthat reports when it closes, for example on disposal or when its UI thread shuts down. A navigator whoseRunicNavigator.ModelContextimplements this interface starts closing as soon as the context closes (amendment A6).Optionally implemented by an
IRunicModelContextwhose model has thread affinity, such as a UI dispatcher context. A navigator whoseRunicNavigator.ModelContextimplements this interface runs its hooks through it, each as a separate operation on the model's thread.A departure guard that asks before unsaved changes are lost, and discards them only when the departure commits. Compose it into a ViewModel that implements
INavigationDepartureGuardand forwardINavigationDepartureGuard.CanDepartAsynctoLeaveConfirmation.CanDepartAsync.What a child region does while the entry that owns it is retained.
How a
NavigationRegion.PushForResultrequest ended.The result entry called
NavigationEntryContext.CompleteAsync, and the transition that returned from it withValuecommitted.The request ended without a result: its push did not commit, the entry retired without completing, the caller's token was cancelled after the commit, or the navigator closed.
Describes a departure that a guard can veto. The navigator creates one for each guard invocation; it belongs to that invocation and to the transition that runs it.
Whether a departing entry is retained or retired.
One entry of a navigation region: its stable id, content, ownership and state.
Gives an entry's hooks its identity, retirement signal, model context and late-completion operations.
Identifies one navigation entry. Ids increase monotonically per navigator.
The lifecycle state of a navigation entry.
The operation that caused a departure, resume or result.
Whether the navigator owns an entry's content.
The phase in which a transition failed.
One navigation region: a stack of typed entries whose top is
NavigationRegion.Current. State changes commit in one model turn and raiseNavigationRegion.PropertyChangedinside that turn.Configures what happens to a child region while the entry that owns it is retained.
Why a navigation request was rejected.
Options of one navigation request.
The outcome of a navigation request. Navigation outcomes are returned, never thrown.
The transition committed.
The transition failed; history is unchanged.
The transition was rejected; history is unchanged.
A later request of the region, or of its parent, replaced this one before it committed.
A push that waits for a typed result from the pushed entry.
Describes a retained entry becoming current again.
Creates navigation targets and states who owns their content.
A host-neutral serial execution context for a ViewModel graph.
Associates each model identity with the context that owns its mutations.
Registers the experimental window navigator.
Owns the navigation regions and entries of one window. Register it per window scope with
RunicNavigationServiceCollectionExtensions.AddRunicNavigation.Configures a
RunicNavigator.