private void InternalSetDockState(DockState value) { if (m_dockState == value) { return; } DockState oldDockState = m_dockState; INestedPanesContainer oldContainer = NestedPanesContainer; m_dockState = value; SuspendRefreshStateChange(); IDockContent contentFocused = GetFocusedContent(); if (contentFocused != null) { DockPanel.SaveFocus(); } if (!IsFloat) { DockWindow = DockPanel.DockWindows[DockState]; } else if (FloatWindow == null) { FloatWindow = DockPanel.FloatWindowFactory.CreateFloatWindow(DockPanel, this); } if (contentFocused != null) { DockPanel.ContentFocusManager.Activate(contentFocused); } ResumeRefreshStateChange(oldContainer, oldDockState); DockPanel.InvokeDockStateChanged(); //2015 - haha01haha01 }