using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Test_ChangeOrder { internal class MoveUp : MoveDown { protected override List NewValues(List valuesBefore, string selectedValue, List valuesAfter) { List newValue = new List(); newValue.Clear(); for (int i = 0; i < valuesBefore.Count - 1; i++) { newValue.Add(valuesBefore[i]); } newValue.Add(selectedValue); newValue.Add(valuesBefore[valuesBefore.Count - 1]); newValue.AddRange(valuesAfter); return newValue; } protected override bool ValidSelection(List values, int selectedRow) { //Die ausgewählte Position muss min. 0 sein, weil sie sonst nicht nach vorne geschoben werden kann und //die Position darf nicht größer als die max. Anzahl der Elemnte minus 1 sein if (selectedRow > 0 && selectedRow < values.Count) { return true; } else { return false; } } protected override void SetSelectedRow(int selectedRow) { SelectedRow = selectedRow - 1; } } }