private void ElementListOnPreviewMouseMove(object sender, MouseEventArgs e) { if (e.LeftButton != MouseButtonState.Pressed || !(sender is ListBox)) { return; } var listBox = (ListBox)sender; var data = GetDataFromListBox(listBox, e.GetPosition(listBox)); if (data != null) { DragDrop.DoDragDrop(listBox, data, DragDropEffects.Move); } }