private void SortElements() { if (_sortOrder == SortOrder.Descending && ListViewItemViewModels != null) { IEnumerable <ListViewItemViewModel> orderedItems = ListViewItemViewModels.OrderByDescending(t => t.Text); ListViewItemViewModels = orderedItems.ToList(); } else if (_sortOrder == SortOrder.Ascending && ListViewItemViewModels != null) { IEnumerable <ListViewItemViewModel> orderedItems = ListViewItemViewModels.OrderBy(t => t.Text); ListViewItemViewModels = orderedItems.ToList(); } }
/// <summary> /// Adds a new element to the combo /// </summary> /// <param name="item">item to add</param> /// <param name="index">position to adding</param> public int AddItem(object item, int index = -1) { var newItem = CreateItem(item); if (index == -1 || index == ListViewItemViewModels.Count) { ListViewItemViewModels.Add(newItem); SortElements(); ListViewItemViewModels_CollectionChanged(); if (newItem.Selected) { SelectedIndices.Add(newItem.Index); } if (newItem.Checked) { CheckedIndices.Add(newItem.Index); } return(newItem.Index); } ListViewItemViewModels.Insert(index, newItem); SortElements(); return(index); }
/// <summary> /// Removes an element from the ListView /// </summary> /// <param name="itemIndex"></param> public void RemoveItem(int itemIndex) { ListViewItemViewModels.RemoveAt(itemIndex); ListViewItemViewModels_CollectionChanged(); }