Exemplo n.º 1
0
        private void OnInputChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            switch (e.Action)
            {
            case NotifyCollectionChangedAction.Add:
                AddItems(e.NewItems <IDataObject>());
                break;

            case NotifyCollectionChangedAction.Remove:
                RemoveItems(e.OldItems <IDataObject>());
                break;

            case NotifyCollectionChangedAction.Reset:
                var currentItems = sender as ReadOnlyObservableCollection <IDataObject>;
                ClearOutput();
                if (currentItems == null)
                {
                    break;
                }
                AddItems(currentItems);
                break;

            case NotifyCollectionChangedAction.Replace:
                RemoveItems(e.OldItems <IDataObject>());
                AddItems(e.NewItems <IDataObject>());
                break;

            default: break;
            }
        }