public void Handle(NavigatingEventMessage message) { if (message.NavigationInfo.TargetPage != this) { PageIsActive = false; } }
/// <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(NavigatingEventMessage message) { NavPanelIsEnabled = false; }