예제 #1
0
 //Добавление с заменой или без по уникальному идентификатору
 public void AddWithID(Item item, bool replaceFlag = false)
 {
     if (item.ID == null)
     {
         item.ID = ++_idCounter;
         Add(item);
     }
     else
     {
         if (Contains(item) && replaceFlag)
         {
             this[IndexOfID(item)] = item;
         }
         else
         {
             //item.ID = ++_idCounter;
             Add(item);
         }
     }
     OnCollectionChange?.Invoke();
 }
예제 #2
0
 public void Clear()
 {
     _items.Clear();
     OnCollectionChange?.Invoke(_instanceName);
 }
예제 #3
0
 public void Add(T item)
 {
     _items.Add(item);
     OnCollectionChange?.Invoke(_instanceName);
 }
예제 #4
0
 public MyObservableCollection(string instanceName, OnCollectionChange onPropertyChange)
 {
     _items              = new List <T>();
     _instanceName       = instanceName;
     OnCollectionChange += onPropertyChange;
 }
예제 #5
0
 //Метод удаления из списка и дальнейшая сигнализация о изменении в списке
 public new void Remove(Item item)
 {
     base.Remove(item);
     OnCollectionChange?.Invoke();
 }