Exemplo n.º 1
0
        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
        }