/// <summary>
        /// Shows a docking view
        /// </summary>
        public DockContent Show( IWorkspace workspace, DockingViewInfo dockView )
        {
            Arguments.CheckNotNull( workspace, "workspace" );
            Arguments.CheckNotNull( dockView, "dockView" );

            if ( !m_Views.Contains( dockView ) )
            {
                Arguments.ThrowArgumentException( "view", "View \"{0}\" did not appear in registered view list (use RegisterViews())", dockView.Name );
            }

            DockContent content;
            if ( !m_ViewDocks.TryGetValue( dockView, out content ) )
            {
                content = CreateViewDockContent( workspace, dockView );
                content.Show( m_MainDockPanel, dockView.DefaultDockState );
            }
            else if ( content.DockPanel != null )
            {
                content.Show( );	//	Content is just hidden
            }
            else
            {
                m_ViewDocks.Remove( dockView );
                content = CreateViewDockContent( workspace, dockView );
                content.Show( m_MainDockPanel, dockView.DefaultDockState );
            }
            return content;
        }
 /// <summary>
 /// Setup constructor
 /// </summary>
 /// <param name="commandUi">Command UI manager. Any show command attached to views get added to this object</param>
 /// <param name="mainPanel">Main docking panel</param>
 /// <param name="hostPaneName">Name of the host pane</param>
 public DockedHostPaneViewManager( ICommandUiManager commandUi, DockPanel mainPanel, string hostPaneName )
 {
     Arguments.CheckNotNull( commandUi, "commandUi" );
     Arguments.CheckNotNull( mainPanel, "mainPanel" );
     m_UnhostedViewManager = new DockingViewManager( commandUi, mainPanel );
     m_HostViewInfo = new DockingViewInfo( hostPaneName, CreateHostControl, DockState.DockLeft );
 }
        /// <summary>
        /// Creates a DockContent for a view, and registers it in the dock view map
        /// </summary>
        private DockContent CreateViewDockContent( IWorkspace workspace, DockingViewInfo dockView )
        {
            Control control = dockView.CreateControl( workspace );
            if ( control == null )
            {
                return null;
            }

            DockContent content = new WindowDockContent( dockView.Name );

            content.Text = dockView.Name;
            content.Controls.Add( control );
            content.AutoScroll = true;
            //	content.HideOnClose = true;

            control.Dock = DockStyle.Fill;

            m_ViewDocks.Add( dockView, content );
            return content;
        }