public void MoveUp() { if (SelectedStep == null) { return; } List <T_LogicStep> selsteps = new List <T_LogicStep>(SelectedStep.ToArray()); foreach (var selstep in selsteps) { var CurrentIndex = StepList.IndexOf(selstep); if (CurrentIndex == 0) { return; } var sec = StepList[CurrentIndex - 1]; sec.OrderIndex = sec.OrderIndex + 1; selstep.OrderIndex = selstep.OrderIndex - 1; StepList.Remove(sec); StepList.Insert(CurrentIndex, sec); } }