/// <summary> /// Slide the specified page into view and optionally select. /// </summary> /// <param name="uniqueName">Name of page to slide into view.</param> /// <param name="select">True to select the page; otherwise false.</param> public void SlidePageOut(string uniqueName, bool select) { // Search each of our AutoHiddenGroup entries for (var i = 0; i < Count; i++) { if (this[i] is KryptonDockingAutoHiddenGroup ahg) { // If the target page is inside this group KryptonPage page = ahg.AutoHiddenGroupControl.Pages[uniqueName]; if (page != null) { // Request the sliding panel slide itself into view with the provided page KryptonAutoHiddenProxyPage proxyPage = (KryptonAutoHiddenProxyPage)page; _slidePanel.SlideOut(proxyPage.Page, ahg.AutoHiddenGroupControl, select); break; } } } }
/// <summary> /// Propagates a page list request down the hierarchy of docking elements. /// </summary> /// <param name="state">Request that should result in pages collection being modified.</param> /// <param name="pages">Pages collection for modification by the docking elements.</param> public override void PropogatePageList(DockingPropogatePageList state, KryptonPageCollection pages) { switch (state) { case DockingPropogatePageList.All: case DockingPropogatePageList.AutoHidden: for (var i = AutoHiddenGroupControl.Pages.Count - 1; i >= 0; i--) { // Only add real pages and not just placeholders KryptonPage page = AutoHiddenGroupControl.Pages[i]; if ((page != null) && page is not KryptonStorePage) { // Remember the real page is inside a proxy! KryptonAutoHiddenProxyPage proxyPage = (KryptonAutoHiddenProxyPage)page; pages.Add(proxyPage.Page); } } break; } }