Example #1
0
        internal ListChangedEventArgs(T item, ListItemChange change)
        {
            var value = item == null?Enumerable.Empty <T>() : new[] { item };

            if (change == ListItemChange.Added)
            {
                this.AddedItems = value;
            }
            else if (change == ListItemChange.Removed)
            {
                this.RemovedItems = value;
            }
        }
Example #2
0
        private void OnListChangedInternal(T item, ListItemChange change)
        {
            if (!enabled)
            {
                return;
            }

            if (change == ListItemChange.Added)// && !addedItems.Contains(item))
            {
                addedItems.Add(item);
            }
            else if (change == ListItemChange.Removed)// && !removedItems.Contains(item))
            {
                removedItems.Add(item);
            }

            ListChanged?.Invoke(this, new ListChangedEventArgs <T>(item, change));
        }