Artemis Artemis
Artemis Artemis

Search Results for

    Interface IRouter

    Represents a router that can be used to navigate to different screens.

    Namespace: Artemis.UI.Shared.Routing
    Assembly: Artemis.UI.Shared.dll
    Syntax
    public interface IRouter

    Properties

    CurrentPath

    Gets an observable containing the current path.

    Declaration
    IObservable<string?> CurrentPath { get; }
    Property Value
    Type Description
    IObservable<string>

    Routes

    Gets a list of router registrations, you can use this to register new routes.

    Declaration
    List<IRouterRegistration> Routes { get; }
    Property Value
    Type Description
    List<IRouterRegistration>

    Methods

    ClearHistory()

    Clears the navigation history.

    Declaration
    void ClearHistory()

    ClearPreviousWindowRoute()

    Clears the route used by the previous window, so that it is not restored when the main window opens.

    Declaration
    void ClearPreviousWindowRoute()

    GoBack()

    Asynchronously navigates back to the previous active route.

    Declaration
    Task<bool> GoBack()
    Returns
    Type Description
    Task<bool>

    A task containing a boolean value which indicates whether there was a previous path to go back to.

    GoForward()

    Asynchronously navigates forward to the previous active route.

    Declaration
    Task<bool> GoForward()
    Returns
    Type Description
    Task<bool>

    A task containing a boolean value which indicates whether there was a forward path to go back to.

    Navigate(string, RouterNavigationOptions?)

    Asynchronously navigates to the provided path.

    Declaration
    Task Navigate(string path, RouterNavigationOptions? options = null)
    Parameters
    Type Name Description
    string path

    The path to navigate to.

    RouterNavigationOptions options

    Optional navigation options used to control navigation behaviour.

    Returns
    Type Description
    Task

    A task representing the operation

    Remarks

    Navigating cancels any currently processing navigations.

    SetRoot<TScreen>(RoutableHostScreen<TScreen>)

    Sets the root screen from which navigation takes place.

    Declaration
    void SetRoot<TScreen>(RoutableHostScreen<TScreen> root) where TScreen : RoutableScreen
    Parameters
    Type Name Description
    RoutableHostScreen<TScreen> root

    The root screen to set.

    Type Parameters
    Name Description
    TScreen

    The type of the root screen. It must be a class.

    SetRoot<TScreen, TParam>(RoutableHostScreen<TScreen, TParam>)

    Sets the root screen from which navigation takes place.

    Declaration
    void SetRoot<TScreen, TParam>(RoutableHostScreen<TScreen, TParam> root) where TScreen : RoutableScreen where TParam : new()
    Parameters
    Type Name Description
    RoutableHostScreen<TScreen, TParam> root

    The root screen to set.

    Type Parameters
    Name Description
    TScreen

    The type of the root screen. It must be a class.

    TParam

    The type of the parameters for the root screen. It must have a parameterless constructor.

    Content is available under the PolyForm Noncommercial License, by Artemis RGB.