我做了一個ObservableCollection < T>,它在每次集合中的對象的屬性(T:INPC)發生更改時觸發CollectionChangedEvent。我想知道其中T的財產已經打響了CollectionChangedEvent,所以我嘗試了以下內容:如何獲取NotifyCollectionChangedEventArgs中已更改的項目?
void item_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset, e));
}
我通過PropertyChangedEventArgs e將NotifyCollectionChangedEventArgs的構造。
根據Intellisense的說法,第二個構造函數有兩個參數:一個NotifyCollectionChangedAction和一個名爲「changedObject」的對象,它被描述爲「受變化影響的項目」。
所以我認爲我可以抓住CollectionChangedEventHandler中的對象並檢查PropertyName,但哦!驚喜! NotifyCollectionChangedEventArgs不公開「ChangedObject」屬性(我可以看到Action,NewItems,OldItems,NewStartingIndex,OldStartingIndex)。
有關如何實現此目的的任何想法?順便說一下,它有什麼用來構造NotifyCollectionChangedEventArgs和一個以後無法訪問的對象?
提示:NewItems和OldItems。 –