예제 #1
0
        /// <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);
        }