private void OnDockableWorkspaceBeforePageDrag(object sender, PageDragCancelEventArgs e)
{
// Validate the list of names to those that are still present in the dockspace
List<KryptonPage> pages = new List<KryptonPage>();
foreach (KryptonPage page in e.Pages)
if (!(page is KryptonStorePage) && (DockableWorkspaceControl.CellForPage(page) != null))
pages.Add(page);
// Only need to start docking dragging if we have some valid pages
if (pages.Count != 0)
{
// Ask the docking manager for a IDragPageNotify implementation to handle the dragging operation
KryptonDockingManager dockingManager = DockingManager;
if (dockingManager != null)
dockingManager.DoDragDrop(e.ScreenPoint, e.ElementOffset, e.Control, e.Pages);
}
// Always take over docking
e.Cancel = true;
}