public void MoveDown() { if (SelectedColumns.Count == 0 || SelectedColumns.Last().IsSelected) { return; } var selected = SelectedColumns.Where(c => c.IsSelected).Reverse().ToArray(); foreach (var item in selected) { var index = SelectedColumns.IndexOf(item); SelectedColumns.RemoveAt(index); SelectedColumns.Insert(index + 1, item); } }