Table of Contents

Interface IScreenNavigation

Namespace
MackySoft.Navigathena
Assembly
MackySoft.Navigathena.dll

Defines fundamental navigation operations from a live screen. Route conveniences and transition waiting are supplied by extension methods.

public interface IScreenNavigation
Extension Methods

Methods

Back(BackOptions?)

NavigationOperation Back(BackOptions? options = null)

Parameters

options BackOptions

Returns

NavigationOperation

GetRegionNavigation(RegionTarget)

IScreenNavigation GetRegionNavigation(RegionTarget target)

Parameters

target RegionTarget

Returns

IScreenNavigation

InvokeAsync(Route, NavigationOptions?, CancellationToken)

Waits for a screen to close, its resources to finish and the caller to resume. Activity suspension does not cancel an accepted call.

Task InvokeAsync(Route route, NavigationOptions? options = null, CancellationToken cancellationToken = default)

Parameters

route Route
options NavigationOptions
cancellationToken CancellationToken

Returns

Task

Remarks

Caller resumption awaits its ActivateAsync callback. Input admission at that callback's entry does not complete the call.

InvokeAsync<TResult>(Route<TResult>, NavigationOptions?, CancellationToken)

Returns the answer after cleanup and caller resumption. Closing without an answer cancels the task.

Task<TResult> InvokeAsync<TResult>(Route<TResult> route, NavigationOptions? options = null, CancellationToken cancellationToken = default)

Parameters

route Route<TResult>
options NavigationOptions
cancellationToken CancellationToken

Returns

Task<TResult>

Type Parameters

TResult

Remarks

Caller resumption awaits its ActivateAsync callback. Input admission at that callback's entry does not complete the call.

PostBack(BackOptions?)

void PostBack(BackOptions? options = null)

Parameters

options BackOptions

PostPush<TRoute>(TRoute, NavigationOptions?)

Runs a request after successful activation; the runtime observes completion and failure.

void PostPush<TRoute>(TRoute route, NavigationOptions? options = null) where TRoute : Route

Parameters

route TRoute
options NavigationOptions

Type Parameters

TRoute

PostReplace<TRoute>(TRoute, NavigationOptions?)

void PostReplace<TRoute>(TRoute route, NavigationOptions? options = null) where TRoute : Route

Parameters

route TRoute
options NavigationOptions

Type Parameters

TRoute

PostReset<TRoute>(TRoute, NavigationOptions?)

void PostReset<TRoute>(TRoute route, NavigationOptions? options = null) where TRoute : Route

Parameters

route TRoute
options NavigationOptions

Type Parameters

TRoute

Push<TRoute>(NavigationDestinationTree<TRoute>, NavigationOptions?)

NavigationOperation Push<TRoute>(NavigationDestinationTree<TRoute> destination, NavigationOptions? options = null) where TRoute : Route

Parameters

destination NavigationDestinationTree<TRoute>
options NavigationOptions

Returns

NavigationOperation

Type Parameters

TRoute

Reload(ReloadOptions?)

NavigationOperation Reload(ReloadOptions? options = null)

Parameters

options ReloadOptions

Returns

NavigationOperation

ReplaceFrom<TRoute>(HistoryTarget, NavigationDestinationTree<TRoute>, NavigationOptions?)

Replaces the selected entry and every entry above it, including their child regions, with one destination.

NavigationOperation ReplaceFrom<TRoute>(HistoryTarget target, NavigationDestinationTree<TRoute> destination, NavigationOptions? options = null) where TRoute : Route

Parameters

target HistoryTarget
destination NavigationDestinationTree<TRoute>
options NavigationOptions

Returns

NavigationOperation

Type Parameters

TRoute

Remarks

The target is resolved once within this navigator's region. Missing or ambiguous targets are rejected before changing screens.

Reset<TRoute>(NavigationDestinationTree<TRoute>, NavigationOptions?)

NavigationOperation Reset<TRoute>(NavigationDestinationTree<TRoute> destination, NavigationOptions? options = null) where TRoute : Route

Parameters

destination NavigationDestinationTree<TRoute>
options NavigationOptions

Returns

NavigationOperation

Type Parameters

TRoute