void HierarchyControl_PreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e) { if (sender is TextBlock) { var draggedItem = WPFHelper.FindParent <HierarchyControl>(sender as TextBlock); //create drag and drop item DragController.CreateDragDropWindow(draggedItem); //get rid of this hierarchy control manually HierarchyControl_Unloaded(null, null); DataObject dragData = new DataObject("control", draggedItem); DragDrop.DoDragDrop(draggedItem, dragData, DragDropEffects.All); DragController.DestroyDragDropWindow(); e.Handled = true; } ; }