/// <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."); } }
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; }
/// <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); }
/// <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); }
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); }