/// <summary> /// Provides a means of the parent page requesting a navigate from a clicked breadcrumb to the specified group. /// </summary> /// <remarks> /// This doesn't actually navigate, just updates the navViewModel. /// </remarks> /// <param name="dbViewModel">The DatabaseViewModel to use for the navigation.</param> /// <param name="navViewModel">The NavigationViewModel to update.</param> /// <param name="clickedGroup">The group to navigate to.</param> public override Task RequestBreadcrumbNavigation(IDatabaseViewModel dbViewModel, IDatabaseNavigationViewModel navViewModel, IKeePassGroup clickedGroup) { navViewModel.SetGroup(clickedGroup); // Task.CompletedTask is better here but not available presently. return(Task.FromResult(0)); }
/// <summary> /// Provides a means of the parent page requesting a navigate from a clicked breadcrumb to the specified group. /// </summary> /// <remarks> /// This allows the page to preempt the navigate or do necessary cleanup. /// </remarks> /// <param name="dbViewModel">The DatabaseViewModel to use for the navigation.</param> /// <param name="navViewModel">The NavigationViewModel to update.</param> /// <param name="clickedGroup">The group to navigate to.</param> public override Task RequestBreadcrumbNavigation(IDatabaseViewModel dbViewModel, IDatabaseNavigationViewModel navViewModel, IKeePassGroup clickedGroup) { Action navCallback = () => { navViewModel.SetGroup(clickedGroup); }; Frame.Navigate(typeof(DatabaseView), new CancellableNavigationParameter(navCallback, dbViewModel)); return(Task.FromResult <object>(null)); }