private static void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { var row = TryFindFromPoint <DataGridRow>((UIElement)sender, e.GetPosition((sender as DataGrid))); if (row == null || row.IsEditing) { return; } DataGridHelper.SetDraggedItem(sender as DataGrid, row.Item); }
private static void OnMouseLeftButtonUp(object sender, MouseButtonEventArgs e) { var draggeditem = DataGridHelper.GetDraggedItem(sender as DependencyObject); if (draggeditem == null) { return; } ExchangeItems(sender, (sender as DataGrid).SelectedItem); (sender as DataGrid).SelectedItem = draggeditem; DataGridHelper.SetDraggedItem(sender as DataGrid, null); }