/// <summary> /// Cancels the editing of the data. /// </summary> Task <bool> MVVM.IViewModel.CancelViewModel() { return(Task.Factory.StartNew(() => { if (IsClosed) { return false; } var cancelingEventArgs = new CancelingEventArgs(); _catelCanceling.SafeInvoke(this, cancelingEventArgs); if (cancelingEventArgs.Cancel) { return false; } if (base.CanCancel) { base.DoCancel(); } _catelCanceled.SafeInvoke(this); return true; })); }
/// <summary> /// Handles the Canceling event of the parent ViewModel. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="CancelingEventArgs"/> instance containing the event data.</param> private async Task OnParentViewModelCancelingAsync(object sender, CancelingEventArgs e) { // The parent view model is canceled, cancel our view model as well if (ViewModel != null) { if (ReferenceEquals(sender, ViewModel)) { Log.Warning("Parent view model '{0}' is exactly the same instance as the current view model, ignore Canceling event", sender.GetType().FullName); return; } if (e.Cancel) { Log.Info("Parent view model '{0}' is canceling, but canceling is canceled by another view model, canceling of view model '{1}' will not continue", _parentViewModel.GetType(), ViewModel.GetType()); return; } Log.Info("Parent view model '{0}' is canceled, cancelling view model '{1}' as well", _parentViewModel.GetType(), ViewModel.GetType()); if (!ViewModel.IsClosed) { e.Cancel = !await ViewModel.CancelViewModelAsync(); } } }
/// <summary> /// Cancels the editing of the data. /// </summary> bool MVVM.IViewModel.CancelViewModel() { if (IsClosed) { return(false); } var cancelingEventArgs = new CancelingEventArgs(); _catelCanceling.SafeInvoke(this, cancelingEventArgs); if (cancelingEventArgs.Cancel) { return(false); } if (base.CanCancel) { base.DoCancel(); } _catelCanceled.SafeInvoke(this); return(true); }
private async Task ViewModelOnCancelingAsync(object sender, CancelingEventArgs e) { _closingViewModel = new ProgressWindowViewModel(); _closingViewModel.Title = "Cancelling..."; _closingViewModel.SetOwnerWindow(this); _visualizerService.ShowDialogAsync(_closingViewModel); }
private static Task OnViewModelCancelingAsync(object sender, CancelingEventArgs e) { if (!AuditingManager.IsAuditingEnabled) { return(TaskHelper.Completed); } AuditingManager.OnViewModelCanceling((IViewModel)sender); return(TaskHelper.Completed); }
private static Task OnViewModelCancelingAsync(object sender, CancelingEventArgs e) { if (!AuditingManager.IsAuditingEnabled) { return TaskHelper.Completed; } AuditingManager.OnViewModelCanceling((IViewModel)sender); return TaskHelper.Completed; }
private static void OnViewModelCanceling(object sender, CancelingEventArgs e) { AuditingManager.OnViewModelCanceling((IViewModel)sender); }