public override async void OnNavigatingFrom(NavigatingFromEventArgs e, Dictionary<string, object> viewModelState, bool suspending) { if (e.NavigationMode == NavigationMode.Back && !_mailHasBeenSent) { await OfficeService.DeleteDraftMessage(Message.Id); } }
private void OnFrameNavigatingFrom(object sender, NavigatingCancelEventArgs e) { if (_navigatingFromEventHandlers.Count > 0) { var args = new NavigatingFromEventArgs(e); foreach (var handler in _navigatingFromEventHandlers) { handler(this, args); } } }
public void OnNavigatedFrom_With_No_RestorableStateAttributes() { var vm = new MockViewModelWithNoRestorableStateAttributes() { Title = "MyMock", Description = "MyDescription", }; var result = new Dictionary<string, object>(); NavigatingFromEventArgs args = new NavigatingFromEventArgs(); vm.OnNavigatingFrom(args, result, true); Assert.IsTrue(result.Keys.Count == 0); }
/// <summary> /// Navigates away from the current viewmodel. /// </summary> /// <param name="e">The <see cref="NavigatingFromEventArgs"/> instance containing the event data.</param> /// <param name="suspending">True if it is navigating away from the viewmodel due to a suspend event.</param> private void NavigateFromCurrentViewModel(NavigatingFromEventArgs e, bool suspending) { var departingView = _frame.Content as FrameworkElement; if (departingView == null) { return; } var frameState = _sessionStateService.GetSessionStateForFrame(_frame); var departingViewModel = departingView.DataContext as INavigationAware; var viewModelKey = "ViewModel-" + _frame.BackStackDepth; if (departingViewModel != null) { var viewModelState = frameState.ContainsKey(viewModelKey) ? frameState[viewModelKey] as Dictionary <string, object> : null; departingViewModel.OnNavigatingFrom(e, viewModelState, suspending); } }
private void RootFrame_Navigating(object sender, MtNavigatingCancelEventArgs e) { _lastPageContent = this.RootFrame.Content; var ui = _lastPageContent as FrameworkElement; if (ui == null) { return; } var vm = ui.DataContext as NavigationViewModelBase; if (vm == null) { return; } var args = new NavigatingFromEventArgs { Cancel = e.Cancel, NavigationMode = e.NavigationMode, Parameter = e.Parameter }; vm.OnNavigatingFrom(args); }
/// <summary> /// Handles the Navigating event of the Frame control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="NavigatingFromEventArgs"/> instance containing the event data.</param> private void OnFrameNavigatingFrom(object sender, NavigatingFromEventArgs e) { NavigateFromCurrentViewModel(e, false); }
public void OnNavigatingFrom(NavigatingFromEventArgs e, Dictionary<string, object> viewModelState, bool suspending) { // throw new NotImplementedException(); }
public void OnNavigatingFrom(NavigatingFromEventArgs e, Dictionary<string, object> viewState, bool suspending) { OnNavigatedFromDelegate(viewState, suspending); }
private void OnFrameNavigatingFrom(object sender, NavigatingCancelEventArgs e) { if (_navigatingFromEventHandlers.Count > 0) { var args = new NavigatingFromEventArgs(e); foreach (var handler in _navigatingFromEventHandlers) handler(this, args); } }
/// <summary> /// Navigates away from the current viewmodel. /// </summary> /// <param name="e">The <see cref="NavigatingFromEventArgs"/> instance containing the event data.</param> /// <param name="suspending">True if it is navigating away from the viewmodel due to a suspend event.</param> private void NavigateFromCurrentViewModel(NavigatingFromEventArgs e, bool suspending) { var departingView = _frame.Content as FrameworkElement; if (departingView == null) return; var frameState = _sessionStateService.GetSessionStateForFrame(_frame); var departingViewModel = departingView.DataContext as INavigationAware; var viewModelKey = "ViewModel-" + _frame.BackStackDepth; if (departingViewModel != null) { var viewModelState = frameState.ContainsKey(viewModelKey) ? frameState[viewModelKey] as Dictionary<string, object> : null; departingViewModel.OnNavigatingFrom(e, viewModelState, suspending); } }
public override void OnNavigatingFrom(NavigatingFromEventArgs e, Dictionary<string, object> viewModelState, bool suspending) { base.OnNavigatingFrom(e, viewModelState, suspending); this.Disposable.Dispose(); }