简体   繁体   English

ObservableCollection的CollectionChanged不触发

[英]ObservableCollection's CollectionChanged not firing

I have an ObservableCollection , based on List . 我有一个基于ListObservableCollection

private List<int> markers = new List<int>();
private ObservableCollection<int> markersObservable;

markersObservable = new ObservableCollection<int>(markers);
markersObservable.CollectionChanged += MarkersObservable_CollectionChanged;

When adding element into the list: 将元素添加到列表中时:

markers.Add(hScrollBarPoints.Value);

I expect collection changed event would fire, however, event never fired: 我预计会触发集合更改事件,但是该事件从未触发:

private void MarkersObservable_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
    Console.WriteLine("Changed!");
}

What am I doing wrong? 我究竟做错了什么?

When you add items to the List , the ObservableCollection is not changed and thus does not fire the CollectionChanged event. 当您将项目添加到ListObservableCollection不会更改,因此不会触发CollectionChanged事件。

To get the event fired, you have to add the item to the ObservableCollection : 要触发该事件,您必须将该项目添加到ObservableCollection

markersObservable.Add(hScrollBarPoints.Value);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM