Пример #1
0
        private DockTreeSplit GetParentSplit(DockTree dockTree)
        {
            Debug.Assert(dockTree.DockControl == DockControl);
            if (dockTree.Position == DockTreePosition.Document)
            {
                return(Splits[3]);
            }
            int index = DockControl.DockTreeZOrder.IndexOf(DockPositionHelper.GetDock(dockTree.Position));

            Debug.Assert(index != -1);
            return(Splits[index]);
        }
Пример #2
0
        private static bool GetIsVisible(DependencyObject child)
        {
            DockTree dockTree = child as DockTree;

            if (dockTree != null)
            {
                return(dockTree.IsVisible);
            }

            DockTreeSplit dockTreeSplit = (DockTreeSplit)child;

            return(dockTreeSplit.IsVisible);
        }
Пример #3
0
        void Refresh()
        {
            if (DockControl == null)
            {
                return;
            }

            LeftSplitterWidth    = ConvertSplitterSize(DockControl.LeftDockTree.IsVisible);
            RightSplitterWidth   = ConvertSplitterSize(DockControl.RightDockTree.IsVisible);
            TopSplitterHeight    = ConvertSplitterSize(DockControl.TopDockTree.IsVisible);
            BottomSplitterHeight = ConvertSplitterSize(DockControl.BottomDockTree.IsVisible);

            IsLeftGuideVisible     = DockManager.GetShowsLeftGuide(DockControl);
            IsRightGuideVisible    = DockManager.GetShowsRightGuide(DockControl);
            IsTopGuideVisible      = DockManager.GetShowsTopGuide(DockControl);
            IsBottomGuideVisible   = DockManager.GetShowsBottomGuide(DockControl);
            IsDocumentGuideVisible = DockManager.GetShowsFillGuide(DockControl);

            LeftTreeWidth = RightTreeWidth = TopTreeHeight = BottomTreeHeight = new GridLength();
            DockTreeClient dockTreeClient = FindVisualChild <DockTreeClient>(DockControl);

            foreach (DockTreeControl dockTreeControl in FindVisualChildren <DockTreeControl>(dockTreeClient))
            {
                DockTree dockTree = dockTreeControl.DockTree;
                if (dockTree == null)
                {
                    continue;
                }
                if (dockTree.Position == DockTreePosition.Left)
                {
                    LeftTreeWidth = new GridLength(dockTreeControl.ActualWidth);
                }
                else if (dockTree.Position == DockTreePosition.Right)
                {
                    RightTreeWidth = new GridLength(dockTreeControl.ActualWidth);
                }
                else if (dockTree.Position == DockTreePosition.Top)
                {
                    TopTreeHeight = new GridLength(dockTreeControl.ActualHeight);
                }
                else if (dockTree.Position == DockTreePosition.Bottom)
                {
                    BottomTreeHeight = new GridLength(dockTreeControl.ActualHeight);
                }
            }
        }