private void MoveRowDownCommand_Execute(object item) { if (TargetDataGrid == null) { return; } if (GetMoveRowDownCommandOverride(TargetDataGrid) != null) { GetMoveRowDownCommandOverride(TargetDataGrid).Execute(DataContext); if (TargetDataGridRow != null) { TargetDataGridRow.BringIntoView(); } } else if (targetItemsSourceAsList != null) { int currentIndex = targetItemsSourceAsList.IndexOf(DataContext); object currentItem = DataContext; targetItemsSourceAsList.RemoveAt(currentIndex); targetItemsSourceAsList.Insert(currentIndex + 1, currentItem); } }
private void MoveRowUpCommand_Execute(object item) { if (TargetDataGrid == null) { return; } if (HasMoveDownCommandOverride) { GetMoveRowUpCommandOverride(TargetDataGrid).Execute(DataContext); if (TargetDataGridRow != null) { TargetDataGridRow.BringIntoView(); } } else if (targetItemsSourceAsList != null) { object itemBackup = DataContext; int currentIndex = targetItemsSourceAsList.IndexOf(itemBackup); targetItemsSourceAsList.RemoveAt(currentIndex); targetItemsSourceAsList.Insert(currentIndex - 1, itemBackup); } }