Namespace Singulink.UI.Navigation
Classes
ChildRoutePart<TParentViewModel, TChildViewModel>
Represents a child route part with no parameters.
ChildRoutePart<TParentViewModel, TChildViewModel, TParam>
Represents a parameterized child route part.
ConcretePartialRoute<TParentViewModel>
A concrete partial route made up of two or more child route parts beneath a parent view model of type TParentViewModel, for
use with partial navigation. Build partial routes by calling
Then<TParentViewModel, TFirstChildViewModel, TChildViewModel>(IConcreteChildRoutePart<TParentViewModel, TFirstChildViewModel>, IConcreteChildRoutePart<TFirstChildViewModel, TChildViewModel>)
on a concrete child route part and chaining Then<TChildViewModel>(IConcreteChildRoutePart<TLeafViewModel, TChildViewModel>)
for each further level. Partial routes with a single child route part are represented by the child route part itself.
ConcretePartialRoute<TParentViewModel, TLeafViewModel>
A concrete partial route whose last route part maps to the TLeafViewModel view model type.
ConcreteRoute
A concrete route made up of a root route part followed by one or more child route parts. Build routes by calling Then<TRootViewModel, TChildViewModel>(IConcreteRootRoutePart<TRootViewModel>, IConcreteChildRoutePart<TRootViewModel, TChildViewModel>) on a concrete root route part and chaining Then<TChildViewModel>(IConcreteChildRoutePart<TLeafViewModel, TChildViewModel>) for each further level. Routes with only a root route part are represented by the root route part itself.
ConcreteRouteExtensions
Provides extension methods for composing concrete route parts into multi-level routes.
ConcreteRoute<TLeafViewModel>
A concrete route whose last route part maps to the TLeafViewModel view model type.
DialogButtonLabels
Provides a set of predefined button labels for dialogs.
DialogNavigatorCore
Provides the framework-agnostic implementation of IDialogNavigator. Holds the framework-specific dialog object and delegates dialog orchestration back to the owning NavigatorCore.
DialogPresenterExtensions
Provides extension methods for IDialogPresenter to show message dialogs.
MessageDialogOptions
Options for configuring a message dialog.
MessageDialogViewModel
View model for message dialogs shown by navigators. The default message dialog can be overridden by mapping a custom dialog to this view model type when building an INavigator.
NavigatingArgs
Provides information to a view model when its route is navigating away and allows it to be cancelled.
NavigationArgs
Provides information to a view model when its route is being navigated to.
NavigationRouteException
Represents errors that occur during navigation route processing.
NavigatorBuilderCore
Provides the shared builder infrastructure used by navigator implementations.
NavigatorCore
Provides the base implementation of a navigator that manages route-based navigation with a hierarchy of views.
NavigatorRoute
Represents a full concrete route.
OptionalPathParamReferenceExtensions
Provides extension methods for OptionalPathParam<T> with reference parameter types.
OptionalPathParamValueExtensions
Provides extension methods for OptionalPathParam<T> with value parameter types.
Redirect
Represents a redirection to a different route.
RootRoutePart<TViewModel>
Represents a root route part with no parameters.
RootRoutePart<TViewModel, TParam>
Represents a parameterized root route part.
Route
Provides methods for building routes.
RouteBuilder
Represents a builder used for constructing routes to view models without parameters.
RouteBuilderBase
Represents a builder for constructing routes.
RouteBuilder<TParam>
Represents a builder used for constructing routes to view models with parameters.
RouteGroupBuilder<TParam>
Represents a group of routes that target the same parameter type. Add routes then call Child<TParentViewModel, TChildViewModel>() or Root<TViewModel>() to create route part groups from this builder.
RouteParamsModelAttribute
Marks a partial record for source generation of IRouteParamsModel<TSelf> implementations, enabling bidirectional conversion between the record and a RouteValuesCollection.
RoutePart
Represents a route part.
RoutePart<TViewModel>
Represents a route part with no parameters.
RoutePart<TViewModel, TParam>
Represents a parameterized route part.
RoutePin
Keeps the views and view models of a route materialized until the pin is disposed. Created with PinCurrentRoute().
RouteQueryBuilder
A mutable fluent builder for composing RouteQuery instances. Obtain one via ToBuilder() or by constructing a new instance, and finalize the result with ToQuery().
RouteValuesCollection
Represents a three-phase, mutable, insertion-ordered collection of route parameter key-value pairs used to bridge URL generation and matching with IRouteParamsModel<TSelf> implementations.
ViewModelExtensions
Provides extension methods for view models to access their associated navigators and parameters.
Structs
Base64Bytes
Represents an immutable byte array parameter that is Base64-encoded for use in route paths and query strings.
OptionalPathParam<T>
Represents an optional path parameter that may or may not have a value. Use this as the view model parameter in view models and route groups when some aliases of the route don't supply the value in the path.
RouteQuery
Represents an immutable, insertion-ordered collection of query string parameters with strongly-typed access. Values are stored as strings and converted using the same invariant culture formatting used for route path parameters.
ValueList<T>
Represents an immutable list of parsable values that can be used as a route path parameter, query string parameter, or as a property in an IRouteParamsModel<TSelf>. Implements IParsable<TSelf> and IEquatable<T>.
Interfaces
IConcreteChildRoutePart<TParentViewModel>
Represents a child route part, either with no parameters or with all its parameters resolved.
IConcreteChildRoutePart<TParentViewModel, TChildViewModel>
Represents a child route part, either with no parameters or with all its parameters resolved.
IConcreteRootRoutePart
Represents a root route part, either with no parameters or with all its parameters resolved.
IConcreteRootRoutePart<TViewModel>
Represents a root route part, either with no parameters or with all its parameters resolved.
IConcreteRoutePart
Represents a route part, either with no parameters or with all its parameters resolved.
IDialogNavigator
Represents a navigator for dialogs that can show child dialogs or close the current dialog.
IDialogPresenter
Represents a presenter that can show dialogs. Implemented by both INavigator and IDialogNavigator (to show top-level and child dialogs, respectively).
IDialogViewModel
Represents a view model that can be used in a dialog.
IDialogViewModel<TResult>
Represents a view model that can be used in a dialog that returns a result when closed.
IDismissibleDialogViewModel
Represents a dialog view model that can handle dismiss requests. If a dialog view model does not implement this interface, dismiss requests will be ignored.
IDismissibleDialogViewModel<TResult>
Represents a dialog view model that can handle dismiss requests and produces a result when closed. See IDismissibleDialogViewModel for details on when dismiss requests are raised.
INavigator
Represents a navigator that can navigate a hierarchy of views using routes and display dialogs for an application or window.
INavigatorBuilder
Represents a navigator builder that can be used to configure a navigator.
IParameterizedConcreteRoute<TViewModel, TParam>
Represents a parameterized route with all its parameters resolved.
IRouteParamsModel<TSelf>
Represents a model that aggregates multiple route parameters and supports conversion to and from a RouteValuesCollection.
IRoutedViewModel
Represents a view model that is navigated to using a route part with no parameters.
IRoutedViewModelBase
Represents a view model that can be navigated to.
IRoutedViewModel<TParam>
Represents a view model that is navigated to using a parameterized route part.
ISingleRouteParam<TSelf>
Represents a type that can be used as a single view model route parameter. Implement this interface (instead of IParsable<TSelf>) on wrapper types that should be usable only as a VM-level single parameter and not as a property in an IRouteParamsModel<TSelf>.
Enums
NavigationResult
Represents the result of a navigation operation.
NavigationType
Specifies the types of navigations that can occur.
ViewModelLifecycleStage
Identifies a routed view model lifecycle method invoked by the navigator during navigation.