문제 설명
요소가 INotifyPropertyChanged를 구현하고 컬렉션 자체가 해당 요소의 변경 사항을 모니터링하는 ObservableCollection을 상상해 보세요. ObservableCollection
솔루션
ObservableCollectionEx 클래스
제안된 솔루션은 ObservableCollection
사용방법
ObservableCollectionEx
<code class="language-csharp">ObservableCollectionEx<Element> collection = new ObservableCollectionEx<Element>(); ((INotifyPropertyChanged)collection).PropertyChanged += (x, y) => ReactToChange();</code>
메모
이 구현은 요소의 속성이 변경될 때 컬렉션의 PropertyChanged 이벤트를 트리거하지만 이는 혼란스러울 수 있습니다. 따라서 이러한 변경 사항에 대해 특별히 추가 이벤트가 도입될 수 있습니다.
게다가 BCL의 ObservableCollection
<code class="language-csharp">((INotifyPropertyChanged)collection).PropertyChanged += (x, y) => ReactToChange();</code>
PropertyChanged 구독을 취소하려면 이벤트 핸들러를 null로 설정해야 합니다.
<code class="language-csharp">collection.PropertyChanged -= (s, e) => { Trace.WriteLine("Changed " + e.PropertyName); };</code>
위 내용은 요소 속성의 변경 사항을 모니터링하는 ObservableCollection을 어떻게 만들 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!