Ejemplo n.º 1
0
 protected virtual void OnClosing(CloseAllMessage message)
 {
     if (!message.Cancel)
     {
         message.Cancel = !TryClose();
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Used to close all opened documents and allows you to save unsaved results and to cancel closing.
 /// Since DocumentsViewModel is a POCO view model, an instance of this class will also expose the OnClosingCommand property that can be used as a binding source in views.
 /// </summary>
 /// <param name="cancelEventArgs">An argument of the System.ComponentModel.CancelEventArgs type which is used to cancel closing if needed.</param>
 public virtual void OnClosing(CancelEventArgs cancelEventArgs)
 {
     if (GroupedDocumentManagerService != null && GroupedDocumentManagerService.Groups.Count() > 1)
     {
         var activeGroup = GroupedDocumentManagerService.ActiveGroup;
         var message     = new CloseAllMessage(cancelEventArgs, vm =>
         {
             var activeVMs = activeGroup.Documents.Select(d => d.Content);
             return(activeVMs.Contains(vm));
         });
         Messenger.Default.Send(message);
         return;
     }
     SaveLogicalLayout();
     if (LayoutSerializationService != null)
     {
         PersistentLayoutHelper.PersistentViewsLayout[ViewLayoutName] = LayoutSerializationService.Serialize();
     }
     Messenger.Default.Send(new CloseAllMessage(cancelEventArgs, vm => true));
     PersistentLayoutHelper.SaveLayout();
 }