private void DoNavigate(Uri source, Action <NavigationResult> navigationCallback, NavigationParameters navigationParameters) { if (source == null) { throw new ArgumentNullException("source"); } if (this.Region == null) { throw new InvalidOperationException(Application.Current.FindResource("NavigationServiceHasNoRegion").ToString()); } this.currentNavigationContext = new NavigationContext(this, source, navigationParameters); // starts querying the active views RequestCanNavigateFromOnCurrentlyActiveView( this.currentNavigationContext, navigationCallback, this.Region.ActiveViews.ToArray(), 0); }
/// <summary> /// Initiates navigation to the specified target. /// </summary> /// <param name="target">The target.</param> /// <param name="navigationCallback">A callback to execute when the navigation request is completed.</param> /// <param name="navigationParameters">The navigation parameters specific to the navigation request.</param> public void RequestNavigate(Uri target, Action <NavigationResult> navigationCallback, NavigationParameters navigationParameters) { if (navigationCallback == null) { throw new ArgumentNullException("navigationCallback"); } try { this.DoNavigate(target, navigationCallback, navigationParameters); } catch (Exception e) { this.NotifyNavigationFailed(new NavigationContext(this, target), navigationCallback, e); } }