예제 #1
0
 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();
     }
 }
예제 #2
0
        /// <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);
        }
예제 #3
0
 /// <summary>
 ///  Removes an element from the ListView
 /// </summary>
 /// <param name="itemIndex"></param>
 public void RemoveItem(int itemIndex)
 {
     ListViewItemViewModels.RemoveAt(itemIndex);
     ListViewItemViewModels_CollectionChanged();
 }