public override async void OnNavigatingFrom(NavigatingFromEventArgs e, Dictionary<string, object> viewModelState, bool suspending)
 {
     if (e.NavigationMode == NavigationMode.Back && !_mailHasBeenSent)
     {
         await OfficeService.DeleteDraftMessage(Message.Id);
     }
 }
Ejemplo n.º 2
0
        private void OnFrameNavigatingFrom(object sender, NavigatingCancelEventArgs e)
        {
            if (_navigatingFromEventHandlers.Count > 0)
            {
                var args = new NavigatingFromEventArgs(e);

                foreach (var handler in _navigatingFromEventHandlers)
                {
                    handler(this, args);
                }
            }
        }
Ejemplo n.º 3
0
        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);
 }
Ejemplo n.º 7
0
 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);
 }
Ejemplo n.º 9
0
        private void OnFrameNavigatingFrom(object sender, NavigatingCancelEventArgs e)
        {
            if (_navigatingFromEventHandlers.Count > 0)
            {
                var args = new NavigatingFromEventArgs(e);

                foreach (var handler in _navigatingFromEventHandlers)
                    handler(this, args);
            }
        }
Ejemplo n.º 10
0
 /// <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);
 }
Ejemplo n.º 11
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);
            }
        }
 public override void OnNavigatingFrom(NavigatingFromEventArgs e, Dictionary<string, object> viewModelState, bool suspending)
 {
     base.OnNavigatingFrom(e, viewModelState, suspending);
     this.Disposable.Dispose();
 }