private void FloatingPane_Closed(object sender, EventArgs e)
        {
            FloatingPane floatingPane = sender as FloatingPane;

            if (floatingPane.IViewContainer is InternalViewContainer)
            {
                ((InternalViewContainer)(floatingPane.IViewContainer)).Clear();
            }

            int count = floatingPane.IViewContainer.GetUserControlCount();

            for (int index = count - 1; index > -1; --index)
            {
                FrameworkElement userControl = floatingPane.IViewContainer.GetUserControl(index);
                IFloatingPaneHost.RemoveViewModel(userControl.DataContext as IViewModel);
            }

            if ((sender is FloatingToolPaneGroup) && (FloatingToolPaneGroups.Contains(sender as FloatingToolPaneGroup)))
            {
                FloatingToolPaneGroups.Remove(sender as FloatingToolPaneGroup);
            }

            if ((sender is FloatingDocumentPaneGroup) && (FloatingDocumentPaneGroups.Contains(sender as FloatingDocumentPaneGroup)))
            {
                FloatingDocumentPaneGroups.Remove(sender as FloatingDocumentPaneGroup);
            }
            CancelSelection();
        }