using WPFluent.Controls; namespace WPFluent; /// /// Represents a contract with a that contains . Through defined service allows you to use the /// Dependency Injection pattern in WPF UI navigation. /// public interface INavigationService { /// /// Provides direct access to the control responsible for navigation. /// /// Instance of the control. INavigationView GetNavigationControl(); /// /// Navigates the NavigationView to the previous journal entry. /// /// if the operation succeeds. otherwise. bool GoBack(); /// /// Lets you navigate to the selected page based on it's type. Should be used with . /// /// of the page. /// if the operation succeeds. otherwise. bool Navigate(Type pageType); /// /// Lets you navigate to the selected page based on it's tag. Should be used with . /// /// Id or tag of the page. /// if the operation succeeds. otherwise. bool Navigate(string pageIdOrTargetTag); /// /// Lets you navigate to the selected page based on it's type, Should be used with . /// /// of the page. /// DataContext /// if the operation succeeds. otherwise. bool Navigate(Type pageType, object? dataContext); /// /// Lets you navigate to the selected page based on it's tag. Should be used with . /// /// Id or tag of the page. /// DataContext /// if the operation succeeds. otherwise. bool Navigate(string pageIdOrTargetTag, object? dataContext); /// /// Synchronously adds an element to the navigation stack and navigates current navigation Frame to the /// /// Type of control to be synchronously added to the navigation stack /// if the operation succeeds. otherwise. bool NavigateWithHierarchy(Type pageType); /// /// Synchronously adds an element to the navigation stack and navigates current navigation Frame to the /// /// Type of control to be synchronously added to the navigation stack /// DataContext /// if the operation succeeds. otherwise. bool NavigateWithHierarchy(Type pageType, object? dataContext); /// /// Lets you attach the control that represents the . /// /// Instance of the . void SetNavigationControl(INavigationView navigation); }