[英]ObservableCollection(T).CollectionChanged Event
SelectedObjects.CollectionChanged += (s, e) =>
{
Console.WriteLine(e.NewItems.Count);//prints out 1 if a new item is added
};
有一件事我不確定是為什么e.OldItems和e.NewItems是收藏品?
如果我每秒添加多個項目,事件會被觸發foreach項目,輸出總是1,這意味着它被多次觸發,但有沒有辦法延遲事件觸發,例如在更改5秒后我可以在e.OldItems或e.NewItems中獲得5秒內的每一個變化?
不可以。可觀察集合的要點是在修改事件時提升事件。 雖然在您的用例中,希望在一段時間后得到通知,但並不是每個用例都會使課程過於復雜。
您可以做的是將可觀察集合包裝到您創建的自定義類中(例如, DelayedObservableCollection<T>
,並且 - 與計時器一起 - 在添加/修改項目時引發其自己的事件,然后沒有項目在指定時間后添加/修改,或者添加/修改超過“x”項目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.