У меня есть ObserableCollection с элементами в ней, которые реализуют интерфейс INotifyPropertyChanged.
Вот как я его создаю:
var myCollection = new ObservableCollection<MyViewModel>();
myCollection.CollectionChanged += OnCollectionChanged;
_
private void OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
if (e.NewItems != null)
{
if (e.Action == NotifyCollectionChangedAction.Remove)
{
foreach (ViewModelBase item in e.NewItems)
{
item.PropertyChanged -= myViewModelPropertyChanged;
}
}
else if (e.Action == NotifyCollectionChangedAction.Add)
{
foreach (ViewModelBase item in e.NewItems)
{
item.PropertyChanged += myViewModelPropertyChanged;
}
}
}
}
Теперь мой вопрос: нужно ли зацикливаться на всех элементах и удалять «myViewModelPropertyChanged» перед выполнением другого
myCollection = new ObservableCollection<MyViewModel>();
или это происходит автоматически? Как насчет
myCollection.Clear ();
Спасибо за любой вклад.
Приветствие
Джозеф