我想要一個自定義的observablecollection,以便在添加項目之前添加一個MyObj類型的項目並調用MyObj.DoCalc()。我也希望能夠將一個列表傳遞給myCustomCollection的構造函數,就像基類一樣,以便將項目設置爲該列表。C#自定義ObservableCollection
public class MyObservableCollection : ObservableCollection<MyObj>
{
protected override void OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
{
// perform calculation
}
base.OnCollectionChanged(e);
}
}
這就是我得到的。我不知道如何重寫構造函數,並且Items是隻讀的,所以我不知道如何將其設置爲傳入列表。提前致謝。
考慮不從集合繼承。您可以將subsscribe更改事件,而不是覆蓋。 http://stackoverflow.com/questions/2242919/should-i-instantiate-a-collection-or-inherit-from-collection – 2011-08-17 18:59:11