protected virtual void OnClosing(CloseAllMessage message) { if (!message.Cancel) { message.Cancel = !TryClose(); } }
/// <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; } //BluePrints Customization //SaveLogicalLayout(); if (LayoutSerializationService != null) { PersistentLayoutHelper.PersistentViewsLayout[ViewLayoutName] = LayoutSerializationService.Serialize(); } Messenger.Default.Send(new CloseAllMessage(cancelEventArgs, vm => true)); PersistentLayoutHelper.SaveLayout(); }