private static void SetAutoHideSize(DockItem dockItem, SplitterDistance value) { dockItem.AutoHideSize = value; if (DockPositionHelper.IsAutoHide(dockItem.DockPosition) && !dockItem.IsSelected) { dockItem.Show(DockItemShowMethod.Select); } }
private IEnumerable <DockItem> GetAutoHideItems() { foreach (DockPane pane in _autoHidePanes) { if (!DockPositionHelper.IsAutoHide(pane.DockPosition)) { continue; } foreach (DockItem item in pane.VisibleItems) { yield return(item); } } }
private DockItem GetActiveItem() { DockItem activeItem = _panes.Count > 0 ? _panes[_panes.Count - 1].SelectedItem : null; if (activeItem == null || !activeItem.IsSelected) { return(null); } else if (DockPositionHelper.IsAutoHide(activeItem.DockPosition) && !activeItem.IsKeyboardFocusWithin) { return(null); } else { return(activeItem); } }
private void RefreshChildrenVisibility() { bool showChild1, showChild2; showChild1 = showChild2 = true; if (Child1 == null || Child1.DockPosition == DockPosition.Hidden || DockPositionHelper.IsAutoHide(Child1.DockPosition)) { showChild1 = false; } if (Child2 == null || Child2.DockPosition == DockPosition.Hidden || DockPositionHelper.IsAutoHide(Child2.DockPosition)) { showChild2 = false; } SplitChildrenVisibility newChildrenVisibility; if (showChild1 && showChild2) { newChildrenVisibility = SplitChildrenVisibility.Both; } else if (showChild1) { newChildrenVisibility = SplitChildrenVisibility.Child1Only; } else if (showChild2) { newChildrenVisibility = SplitChildrenVisibility.Child2Only; } else { newChildrenVisibility = SplitChildrenVisibility.None; } SplitChildrenVisibility oldChildrenVisibility = ChildrenVisibility; if (oldChildrenVisibility != newChildrenVisibility) { ChildrenVisibility = newChildrenVisibility; } }
internal override bool GetIsAutoHide(DockControl dockControl) { return(DockPositionHelper.IsAutoHide(_dockPosition)); }