/// <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(); }
public void SaveLayout() { PersistentLayoutHelper.TrySerializeLayout(LayoutSerializationService, ViewName); PersistentLayoutHelper.SaveLayout(); }