void List_MouseMove(object sender, MouseEventArgs e) { Point current = e.GetPosition(this); if (sender is ListBoxItem && e.LeftButton == MouseButtonState.Pressed) { ListBoxItem draggedItem = sender as ListBoxItem; draggedItem.IsSelected = true; adorner = new DragAdornerToolboxItem(draggedItem, GetMousePosition()); AdornerLayer.GetAdornerLayer(this).Add(adorner); DragDrop.DoDragDrop(draggedItem, draggedItem, DragDropEffects.Copy); AdornerLayer.GetAdornerLayer(this).Remove(adorner); } startPoint = current; }