/// <summary> /// Handles the NavigationFailed event of the NavigationService. /// /// Developers you can use this event handler to display all your navigation failures to the user. /// This is very helpful when your application initiates navigation from XAML. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="Microsoft.Practices.Prism.Regions.RegionNavigationFailedEventArgs"/> instance containing the event data.</param> void NavigationService_NavigationFailed(object sender, RegionNavigationFailedEventArgs e) { this.Logger.Log(Global.RegionNavigationFailed + e.Uri.ToString()); // Demo only. Use a dialog service or interaction request instead of a message box MessageBox.Show(String.Format(Global.NavigationFailedMessage_FormatString, e.Uri, e.Error.Message), Global.NavigationError, MessageBoxButton.OK, MessageBoxImage.Error); }
/// <summary> /// Handles the NavigationFailed event of the NavigationService. /// /// Developers you can use this event handler as a central place to /// display a navigation failed message. This handler can come in handy /// when initiating navigation from XAML where no call back is available. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="Microsoft.Practices.Prism.Regions.RegionNavigationFailedEventArgs"/> instance containing the event data.</param> private void NavigationService_NavigationFailed(object sender, RegionNavigationFailedEventArgs e) { //this.Logger.Log(String.Format(Constants.Global.NavigationFailedMessage_FormatString, e.Uri.ToString(), e.Error.Message)); //// demo only. In a real-world application, use a dialog service or interaction request to display messages. //MessageBox.Show(String.Format(Constants.Global.NavigationFailedMessage_FormatString, e.Uri.ToString(), e.Error.Message), // Constants.Global.NavigationFailed, MessageBoxButton.OK, MessageBoxImage.Error); throw e.Error; }
public void WhenNavigationFailsBecauseTheContentViewCannotBeRetrieved_ThenNavigationFailedIsRaised() { // Prepare var region = new Region { Name = "RegionName" }; var serviceLocatorMock = new Mock <IServiceLocator>(); serviceLocatorMock .Setup(x => x.GetInstance <IRegionNavigationJournalEntry>()) .Returns(new RegionNavigationJournalEntry()); var contentLoaderMock = new Mock <IRegionNavigationContentLoader>(); contentLoaderMock .Setup(cl => cl.LoadContent(region, It.IsAny <NavigationContext>())) .Throws <InvalidOperationException>(); var serviceLocator = serviceLocatorMock.Object; var contentLoader = contentLoaderMock.Object; var journal = new Mock <IRegionNavigationJournal>().Object; var target = new RegionNavigationService(serviceLocator, contentLoader, journal); target.Region = region; RegionNavigationFailedEventArgs eventArgs = null; target.NavigationFailed += delegate(object sender, RegionNavigationFailedEventArgs e) { if (sender == target) { eventArgs = e; } }; // Act bool?isNavigationSuccessful = null; target.RequestNavigate(new Uri("invalid", UriKind.Relative), nr => isNavigationSuccessful = nr.Result); // Verify Assert.IsFalse(isNavigationSuccessful.Value); Assert.IsNotNull(eventArgs); Assert.IsNotNull(eventArgs.Error); }
public void WhenNavigationFailsBecauseDataContextForActiveViewRejectsIt_ThenNavigationFailedIsRaised() { // Prepare var region = new Region { Name = "RegionName" }; var viewModel1Mock = new Mock <IConfirmNavigationRequest>(); viewModel1Mock .Setup(ina => ina.ConfirmNavigationRequest(It.IsAny <NavigationContext>(), It.IsAny <Action <bool> >())) .Callback <NavigationContext, Action <bool> >((nc, c) => c(false)) .Verifiable(); var view1Mock = new Mock <FrameworkElement>(); var view1 = view1Mock.Object; view1.DataContext = viewModel1Mock.Object; var view2 = new object(); region.Add(view1); region.Add(view2); region.Activate(view1); var navigationUri = new Uri(view2.GetType().Name, UriKind.Relative); var serviceLocatorMock = new Mock <IServiceLocator>(); serviceLocatorMock .Setup(x => x.GetInstance <IRegionNavigationJournalEntry>()) .Returns(new RegionNavigationJournalEntry()); var contentLoaderMock = new Mock <IRegionNavigationContentLoader>(); contentLoaderMock .Setup(cl => cl.LoadContent(region, It.IsAny <NavigationContext>())) .Returns(view2); var serviceLocator = serviceLocatorMock.Object; var contentLoader = contentLoaderMock.Object; var journal = new Mock <IRegionNavigationJournal>().Object; var target = new RegionNavigationService(serviceLocator, contentLoader, journal); target.Region = region; RegionNavigationFailedEventArgs eventArgs = null; target.NavigationFailed += delegate(object sender, RegionNavigationFailedEventArgs e) { if (sender == target) { eventArgs = e; } }; // Act bool?isNavigationSuccessful = null; target.RequestNavigate(navigationUri, nr => isNavigationSuccessful = nr.Result); // Verify viewModel1Mock.VerifyAll(); Assert.IsFalse(isNavigationSuccessful.Value); Assert.IsNotNull(eventArgs); Assert.IsNull(eventArgs.Error); }
protected virtual void RegionOneNavigationServiceOnNavigationFailed(object sender, RegionNavigationFailedEventArgs e) { }
private void OnNavigationFailed(object sender, RegionNavigationFailedEventArgs e) { throw e.Error; }
void NavigationService_NavigationFailed(object sender, RegionNavigationFailedEventArgs e) { MessageBox.Show(e.Error.ToString()); }
private void OnNavigationFailed(object sender, RegionNavigationFailedEventArgs e) { this.ShowMessageAsync("Navigation Service", e.Error.Message ?? "Navigation failed."); }
private void NavigationService_NavigationFailed(object sender, RegionNavigationFailedEventArgs e) { System.Windows.MessageBox.Show(e.Error.Message, "NavigationService_NavigationFailed"); System.Diagnostics.Debug.WriteLine("WindowNavigationService.NavigationFailed : " + e.Error.Message); }
private void NavigationService_NavigationFailed1(object sender, RegionNavigationFailedEventArgs e) { }
public void WhenNavigationFailsBecauseBindingContextForActiveViewRejectsIt_ThenNavigationFailedIsRaised() { // Prepare var region = new Region { Name = "RegionName" }; var viewModel1Mock = new Mock <IConfirmRegionNavigationRequest>(); viewModel1Mock .Setup(ina => ina.ConfirmNavigationRequest(It.IsAny <INavigationContext>(), It.IsAny <Action <bool> >())) .Callback <INavigationContext, Action <bool> >((nc, c) => c(false)) .Verifiable(); var view1Mock = new Mock <View>(); var view1 = view1Mock.Object; view1.BindingContext = viewModel1Mock.Object; var view2 = new StackLayout(); region.Add(view1); region.Add(view2); region.Activate(view1); var navigationUri = new Uri(view2.GetType().Name, UriKind.Relative); var containerMock = new Mock <IContainerExtension>(); containerMock.Setup(x => x.Resolve(typeof(IRegionNavigationJournalEntry))).Returns(new RegionNavigationJournalEntry()); var contentLoaderMock = new Mock <IRegionNavigationContentLoader>(); contentLoaderMock .Setup(cl => cl.LoadContent(region, It.IsAny <INavigationContext>())) .Returns(view2); var container = containerMock.Object; var contentLoader = contentLoaderMock.Object; var journal = Mock.Of <IRegionNavigationJournal>(); var target = new RegionNavigationService(container, contentLoader, journal) { Region = region }; RegionNavigationFailedEventArgs eventArgs = null; target.NavigationFailed += delegate(object sender, RegionNavigationFailedEventArgs e) { if (sender == target) { eventArgs = e; } }; // Act bool?isNavigationSuccessful = null; target.RequestNavigate(navigationUri, nr => isNavigationSuccessful = nr.Result); // Verify viewModel1Mock.VerifyAll(); Assert.False(isNavigationSuccessful.Value); Assert.NotNull(eventArgs); Assert.Null(eventArgs.Error); }
void NavigationService_NavigationFailed(object sender, RegionNavigationFailedEventArgs e) { //throw new NotImplementedException(); }