internal void TabEnter(AutoHideTab autoHideTab) { // Show AutoHidePane, but do not set focus. var dockTabItem = autoHideTab.DataContext as IDockTabItem; var dockTabPane = autoHideTab.AutoHideGroup?.DataContext as IDockTabPane; var autoHidePane = ShowAutoHidePane(dockTabPane, dockTabItem, false); // Make sure that the AutoHidePane stays open, as long as the mouse cursor is on the tab. if (autoHidePane != null) autoHidePane.HideAutomatically = false; }
internal void TabLeave(AutoHideTab autoHideTab) { // Mouse cursor has left the tab. // Re-enable automatic hiding of the AutoHidePane. var dockTabPane = autoHideTab.AutoHideGroup?.DataContext as IDockTabPane; var autoHidePane = GetAutoHidePane(dockTabPane); if (autoHidePane != null) autoHidePane.HideAutomatically = true; }
internal void TabClicked(AutoHideTab autoHideTab) { // Show AutoHidePane and set focus to content. var dockTabItem = autoHideTab.DataContext as IDockTabItem; var dockTabPane = autoHideTab.AutoHideGroup?.DataContext as IDockTabPane; var dockControl = DockHelper.GetDockControl(this); if (dockControl != null) dockControl.CloseAutoHidePanesExcept(dockTabPane); else CloseAutoHidePanesExcept(dockTabPane); ShowAutoHidePane(dockTabPane, dockTabItem, true); }