ObservableCollectionの罠

ObservableCollection.InsertでArgumentExceptionが起きる時の回避策。


一覧系のコントロールにObservableCollectionをバインドする時コントロールがObservableCollectionのCollectionChangedイベントにデリゲートを設定しているが、この解除が適切にされないことがあるらしく、変なデリゲートが残っている状態でInsertメソッドを呼ぶとArgumentExceptionが起きる。


そこで
・自前で同じようなクラスを実装する。
・必要に応じてCollectionChangedデリゲートをnullクリアする。
ようにすれば回避可能。