一部のバインディングの ItemsSource として sを使用していますが、バインディング エンジンによってリストを再チェックする必要があることを通知するために手動でObservableCollection
呼び出したいシナリオに遭遇しました。OnCollectionChanged
(BindingList
アナログは ですOnListChanged
)。
ここからトラブルが始まります。腹立たしいことに、これらのメソッドはprotected
、これらの型をサブクラス化せずに呼び出すことはできません。Ironpython はこれをサポートしていますが、サブクラス化しようとすると、オーバーライド メソッドを指定していなくても、見事に失敗します。
>>> class ObservableCollectionEx(System.Collections.ObjectModel.ObservableCollection):
... pass
...
Traceback (most recent call last):
File "<string>", line 1, in <module>
SystemError: Object reference not set to an instance of an object.
>>> class BindingListEx(System.ComponentModel.BindingList):
... pass
...
Traceback (most recent call last):
File "<string>", line 1, in <module>
SystemError: Object reference not set to an instance of an object.
私はあきらめようとしていますOnCollectionChanged
。ヘルプ!