사용자 정의 observablecollection을 사용하여 Item에 MyObj 유형이 추가되면 catch하고 Items에 항목을 추가하기 전에 MyObj.DoCalc()를 호출하면됩니다. 또한 기본 클래스처럼 myCustomCollection의 생성자에 목록을 전달하여 해당 목록에 항목을 설정할 수 있기를 원합니다.C# Custom 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);
}
}
그게 내가 가진 것입니다. 나는 constructor를 오버라이드 (override)하는 방법과 Item이 readonly인지 모르기 때문에 전달 된리스트를 어떻게 설정하는지 모른다. 미리 감사드립니다.
콜렉션에서 상속하지 않는 것이 좋습니다. 재정의 라기보다는 변경 이벤트에 대한 권한을 부여 할 수 있습니다. http://stackoverflow.com/questions/2242919/should-i-instantiate-a-collection-or-inherit-from-collection –