コード例 #1
0
        /// <summary>
        /// 从文档区域中移除停靠区域;
        /// </summary>
        /// <param name="dockingPane"></param>
        public void RemovePaneFromDocument(CreatedDockingPane dockingPane)
        {
            if (dockingPane == null)
            {
                throw new ArgumentNullException(nameof(dockingPane));
            }

            var radPane = GetRadPaneByGUID(dockingPane.DockingPaneMetaData.GUID);

            if (radPane != null)
            {
                throw new ArgumentException($"{nameof(dockingPane)} has not been added.");
            }
        }
コード例 #2
0
        public void RemovePane(CreatedDockingPane dockingPane)
        {
            var radPane = GetRadPaneByGUID(dockingPane.DockingPaneMetaData.InitPaneGroupGUID);

            if (radPane == null)
            {
                throw new ArgumentNullException($"The {nameof(dockingPane)} has not been added.");
            }

            radPane.RemoveFromParent();

            radPane.Content = null;
            radPane.Tag     = null;
        }
コード例 #3
0
        /// <summary>
        /// 向文档区域中加入停靠区域;
        /// </summary>
        /// <param name="dockingPane"></param>
        public void AddPaneToDocument(CreatedDockingPane dockingPane)
        {
            if (dockingPane == null)
            {
                throw new ArgumentNullException(nameof(dockingPane));
            }

            var radPane = GetRadPaneByGUID(dockingPane.DockingPaneMetaData.GUID);

            if (radPane != null)
            {
                throw new ArgumentException($"{nameof(dockingPane)} has already been added.");
            }

            radPane = GenericRadPane(dockingPane);

            _documentPaneGroup.Items.Add(radPane);
        }
コード例 #4
0
        /// <summary>
        /// 根据停靠区域实例生成一个<see cref="RadPane"/>
        /// </summary>
        /// <param name="dockingPane"></param>
        /// <returns></returns>
        private static RadPane GenericRadPane(CreatedDockingPane dockingPane)
        {
            var radPane = new RadPane {
                Tag = dockingPane,
                PaneHeaderVisibility = dockingPane.DockingPane.PaneHeaderVisibility,
                CanUserClose         = dockingPane.DockingPaneMetaData.CanUserClose,
                Content  = dockingPane.DockingPane.UIObject,
                CanFloat = dockingPane.DockingPaneMetaData.CanFloat,
                Header   = dockingPane.DockingPane.Header,
                IsHidden = dockingPane.DockingPane.IsHidden
            };

            dockingPane.DockingPane.IsHiddenChanged += delegate {
                radPane.IsHidden = dockingPane.DockingPane.IsHidden;
            };

            DockingPanel.SetInitialSize(radPane, new Size(dockingPane.DockingPaneMetaData.InitialWidth, dockingPane.DockingPaneMetaData.InitialHeight));

            return(radPane);
        }
コード例 #5
0
        public void AddPane(CreatedDockingPane dockingPane)
        {
            if (dockingPane == null)
            {
                throw new ArgumentNullException(nameof(dockingPane));
            }

            var radPane = GetRadPaneByGUID(dockingPane.DockingPaneMetaData.GUID);

            if (radPane != null)
            {
                throw new ArgumentException($"The {nameof(dockingPane)} has already been added.");
            }

            var radPaneGroup = GetRadPaneGroupByGUID(dockingPane.DockingPaneMetaData.InitPaneGroupGUID);

            if (radPaneGroup == null)
            {
                return;
            }

            radPane = GenericRadPane(dockingPane);
            radPaneGroup.AddItem(radPane, DockPosition.Center);
        }