public void OpenDetailInNewDock(ContentFrame frame, DocumentDockPosition position) { var master = new DockPanelContentFrame(); master.HeaderRedirectFrame = this; master.PrimaryContent = this; m_dockWrapper.ReplaceContent(master); master.OpenContent(this, null, DocumentDockPosition.Center); master.OpenContent(frame, this, position); MainWindow.Instance.UpdateFrameEnabling(master); }
public void OpenContent(ContentFrame frame, ContentFrame relframe, DocumentDockPosition position) { frame.m_parentFrame = this; DockPane pane = null; if (dockPanel1.ActiveDocument != null) { pane = dockPanel1.ActiveDocument.DockHandler.Pane; } if (relframe != null) { var cw = GetDockContent(relframe); if (cw != null) { pane = cw.DockHandler.Pane; } } if (frame == PrimaryContent) { frame.PersistString = "primary"; } ContentWrapper docker = new ContentWrapper(frame, frame.PersistString); if (frame == PrimaryContent) { docker.DockHandler.CloseButtonVisible = false; } if (pane != null) { switch (position) { case DocumentDockPosition.Left: docker.Show(pane, DockAlignment.Left, 0.5); return; case DocumentDockPosition.Right: docker.Show(pane, DockAlignment.Right, 0.5); return; case DocumentDockPosition.Top: docker.Show(pane, DockAlignment.Top, 0.5); return; case DocumentDockPosition.Bottom: docker.Show(pane, DockAlignment.Bottom, 0.5); return; } } // fallback docker.Show(dockPanel1); }