/// <inheritdoc /> protected override void RemoveItem(int index) { TItemVM oldItem = this[index]; base.RemoveItem(index); CallBehaviors(CollectionChangedArgs <TItemVM> .ItemRemoved(this, oldItem, index)); }
public void Remove_CallsHandleChangeWithItemRemovedArgs() { Collection.Add(CreateItem()); var item = CreateItem(); Collection.Add(item); ResetStub(); Collection.Remove(item); AssertChangeArgs( CollectionChangedArgs <IViewModel> .ItemRemoved(Collection, item, 1) ); }
public void Move_CallsHandleChangeTwoTimes() { var item0 = CreateItem(); var item1 = CreateItem(); Collection.Add(item0); Collection.Add(item1); ResetStub(); Collection.Move(fromIndex: 0, toIndex: 1); AssertChangeArgs( CollectionChangedArgs <IViewModel> .ItemRemoved(Collection, item0, 0), CollectionChangedArgs <IViewModel> .ItemInserted(Collection, item0, 1) ); }
protected void HandleItemRemoved(TItemVM item, int index = 0) { var args = CollectionChangedArgs <TItemVM> .ItemRemoved(Collection, item, index); Behavior.HandleChange(Context, args); }