public void ToFloat(bool isActive = true) { if (!CanFloat && isActive) { _dockControl.SetActive(); return; } if (_container != null) { CanSelect = true; //注意切换模式 Mode = DockMode.Float; var dockManager = DockManager; _container.Detach(this); _container = null; BaseFloatWindow wnd; BaseGroupControl groupctrl; if (!IsDocument) { var group = new LayoutGroup(Side, Mode, dockManager); group.Attach(this); groupctrl = new AnchorSideGroupControl(group) { DesiredHeight = DesiredHeight, DesiredWidth = DesiredWidth }; wnd = new AnchorGroupWindow(dockManager) { Height = DesiredHeight, Width = DesiredWidth, Left = FloatLeft, Top = FloatTop }; } else { var group = new LayoutDocumentGroup(Mode, dockManager); group.Attach(this); groupctrl = new LayoutDocumentGroupControl(group) { DesiredHeight = DesiredHeight, DesiredWidth = DesiredWidth }; wnd = new DocumentGroupWindow(dockManager) { Height = DesiredHeight, Width = DesiredWidth, Left = FloatLeft, Top = FloatTop }; } wnd.AttachChild(groupctrl, AttachMode.None, 0); wnd.Show(); if (isActive) { _dockControl.SetActive(); } } }