public void Close(IDockScreen screen) { var content = this[screen.Name]; if (content != null) { content.Close(); } }
private void ShowDocumentWindow(IDockScreen viewModel, bool activate = true) { var document = GetDocument(viewModel); document.Show(_dockingManager); if (activate) { document.Activate(); } }
private void ShowFloatingWindow(IDockScreen viewModel, bool activate = true) { var dockableContent = GetDockable(viewModel); dockableContent.ShowAsFloatingWindow(_dockingManager, true); if (activate) { dockableContent.Activate(); } }
private DocumentContent GetDocument(IDockScreen rootModel) { //see if the dockable exists var existingView = _dockingManager.Documents.FirstOrDefault(dc => dc.DataContext == rootModel); if (existingView != null) { return(existingView); } var view = ViewLocator.LocateForModel(rootModel, null, DockType.Document); ViewModelBinder.Bind(rootModel, view, DockType.Document); return(view as DocumentContent); }
private void ShowDockedWindow(IDockScreen viewModel, bool activate = true, DockSide dockSide = DockSide.Left) { var dockableContent = GetDockable(viewModel); dockableContent.Show(_dockingManager, GetAnchorStyle(dockSide)); if (activate) { dockableContent.Activate(); } else { dockableContent.ToggleAutoHide(); } }
public void Show(IDockScreen screen, DockType?dockType, bool activate, DockSide dockSide) { DockType type = dockType.HasValue ? dockType.Value : screen.Type; switch (type) { case DockType.Document: ShowDocumentWindow(screen, activate); break; case DockType.DockableContent: ShowDockedWindow(screen, activate, dockSide); break; case DockType.Floating: ShowFloatingWindow(screen, activate); break; default: break; } }