2017-01-25 10 views
0

Listに基づいてObservableCollectionがあります。ObservableCollectionのCollectionChangedが発砲しない

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

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

リストに要素を追加:

markers.Add(hScrollBarPoints.Value); 

しかし私は、イベントが発生したことがない、コレクション変更イベントを発生するだろうと期待しており:

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

私が間違って何をしているのですか?

+0

'新しいのObservableCollection (マーカー)markers''から 'コピーのみすべての要素、それはどのような種類を形成しません元のコレクションとの関係の –

答えて

1

Listに項目を追加すると、ObservableCollectionは変更されず、したがってCollectionChangedイベントが発生しません。

イベントが発生するには、あなたがObservableCollectionに項目を追加する必要があります。

markersObservable.Add(hScrollBarPoints.Value); 
+0

私はそれを並べ替えることができるので、私は特にリストを保持します。 – Pablo

+1

@Pabloそれでは、別の問題があります。代わりにCollectionViewを試してみてください。 –

関連する問題