/// <summary> /// Called when a loaded data model is closing. /// </summary> /// <param name="sender">The sender.</param> /// <param name="eventArgs">The <see cref="ClosingEventArgs"/> instance containing the event data.</param> protected virtual void OnClosing(object sender, ClosingEventArgs eventArgs) { //this.FlushBindings (); ** Uncomment when we have C# 3.0 support ** Extensions.FlushBindings(this); if (!eventArgs.Cancel && this.ViewModel.HasUnsavedChanges) { MessageBoxResult messageBoxResult = MessageBox.Show(this, Properties.WpfViewResources.QuerySaveMessageString, Properties.WpfViewResources.QuerySaveCaptionString, MessageBoxButton.YesNoCancel, MessageBoxImage.Question, MessageBoxResult.Yes); if (messageBoxResult == MessageBoxResult.Cancel) { eventArgs.Cancel = true; } else if (messageBoxResult == MessageBoxResult.Yes) { eventArgs.Cancel = !SaveCommand <TController, TModel> .Save(this.ViewModel, this); } } }
internal static void Execute(ViewModel <TController, TModel> viewModel, Window owner, object parameter) { SaveCommand <TController, TModel> .Save(viewModel, owner, parameter as string); }
/// <summary> /// Saves the data model for the specified <see cref="ViewModel<TController, TModel>"/>. /// </summary> /// <param name="viewModel">The view model.</param> /// <param name="owner">The owner window.</param> /// <returns> /// <c>true</c> if the data model is saved; otherwise, <c>false</c>. /// </returns> public static bool Save(ViewModel <TController, TModel> viewModel, Window owner) { return(SaveCommand <TController, TModel> .Save(viewModel, owner, null)); }