public MainDockingViewVM(ShellVM shell, CommandBindingCollection commandBindings) { this.Shell = shell; _commandBindings = commandBindings; this.Panels = new ViewModelMap <PanelInfo, PanelVM>(DockingViewManager.Instance.Panels, p => new PanelVM(p)); this.Documents = new ViewModelMap <DocumentInfo, DocumentVM>(DockingViewManager.Instance.Documents, d => { var document = new DocumentVM(d); App.CompositionContainer.SatisfyImportsOnce(document); return(document); }); this.Documents.CollectionChanged += Documents_CollectionChanged; DockingViewManager.Instance.DocumentSelected += DockingViewManager_DocumentSelected; DockingViewManager.Instance.DocumentManager.DocumentsRestored += DocumentManager_DocumentsRestored; _commandBindings.Add(new CommandBinding(ApplicationCommands.Close, this.ExecuteCloseCommmand, this.CanExecuteCloseCommand)); }
public void CloseDocument(DocumentVM document) { DockingViewManager.Instance.CloseDocument(document.Document); }