INotifyPropertyChanged インターフェイスを実装するアイテムを含む ObserableCollection があります。これは私がそれを作成する方法です:
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(); はどうでしょうか。
ご意見ありがとうございます。
乾杯ジョセフ