public void Handle(NavigatedEventMessage message) { //HANDLE IF WE ARE THE TARGET PAGE if (message.NavigationInfo.TargetPage == this) { UserPrincipal.Logout(); AuthenticationChangedEventMessage.Publish(); ((LogoutViewModel)ContentViewModel).LogoutMessage = ViewViewModelResources.MsgLoggedOut; } else if (Navigation.Navigator.Ton.GetPreviousPage() == this) { //HANDLE IF WE ARE THE PREVIOUS PAGE (NAVIGATED AWAY FROM) } }
/// <summary> /// Injects the page.ContentViewModel into the /// ShellViewModel, publishing event messages /// along the way. /// </summary> public bool NavigateTo(IPage targetPage) { var navWasSuccessful = false; //PUBLISH THE REQUEST EVENT MESSAGE var navId = Guid.NewGuid(); var navInfo = new NavigationInfo(navId, targetPage); NavigationRequestedEventMessage.Publish(navInfo); //PUBLISH THE NAVIGATING EVENT MESSAGE NavigatingEventMessage.Publish(navInfo); try { //INJECT THE PAGE VIEWMODEL INTO THE SHELL var shellVM = GetShellViewModel(); shellVM.Main = targetPage.ContentViewModel; //PUBLISH THE NAVIGATED EVENT MESSAGE NavigatedEventMessage.Publish(navInfo); //ADD THE PAGE TO THE HISTORY PageHistory.Add(targetPage); //SET THE RETURN VARIABLE navWasSuccessful = true; } catch { //PUBLISH THE FAILED EVENT MESSAGE NavigationFailedEventMessage.Publish(navInfo); //SET THE RETURN VARIABLE navWasSuccessful = false; } //RETURN OUR SUCCESS return(navWasSuccessful); }
public void Handle(NavigatedEventMessage message) { NavPanelIsEnabled = true; }