Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/11/10 03:55:51 (15 years ago)
Author:
swagner
Message:

Implemented INotifyPropertyChanged in all observable collections (#819)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Collections/3.3/ReadOnlyObservableCollection.cs

    r2618 r2620  
    2424using System.Collections.Generic;
    2525using System.Collections.ObjectModel;
     26using System.ComponentModel;
    2627using System.Linq;
    2728using System.Text;
     
    5051      collection.ItemsRemoved += new CollectionItemsChangedEventHandler<T>(collection_ItemsRemoved);
    5152      collection.CollectionReset += new CollectionItemsChangedEventHandler<T>(collection_CollectionReset);
     53      collection.PropertyChanged += new PropertyChangedEventHandler(collection_PropertyChanged);
    5254    }
    5355    #endregion
     
    110112    }
    111113
     114    [field: NonSerialized]
     115    public event PropertyChangedEventHandler PropertyChanged;
     116    protected virtual void OnPropertyChanged(string propertyName) {
     117      if (PropertyChanged != null)
     118        PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     119    }
     120
    112121    private void collection_ItemsAdded(object sender, CollectionItemsChangedEventArgs<T> e) {
    113122      OnItemsAdded(e.Items);
     
    119128      OnCollectionReset(e.Items, e.OldItems);
    120129    }
     130    private void collection_PropertyChanged(object sender, PropertyChangedEventArgs e) {
     131      if (e.PropertyName.Equals("Count"))
     132        OnPropertyChanged(e.PropertyName);
     133    }
    121134    #endregion
    122135  }
Note: See TracChangeset for help on using the changeset viewer.