0


0

IListを実装するコレクションオブジェクトがあります。 コレクションの中で、私はアイテムを集めるためにリストを使いました。 (実行時に)PropertyGrid内で正しくバインドされ、コレクションエディタが開きます。 私は編集することができます、そして私はアイテムを適切に追加することができます、そして、それらがコレクションクラスで使われるとき私はこれらのメソッドをキャッチすることができます。

ただし、アイテムを削除しようとすると、それらはコレクションから削除されますが、IList.RemoveもIList.RemoveAtも私のコレクションからは使用されていないようです。 削除されたアイテムもデータベースから削除されることを意図しています。これはRemoveメソッドで実装した動作です。

また、removeメソッドからすべてのロジックを削除し、それらをth​​row new NotImplmented()で残しました。これらはまったく実行されません。

私も独自のCollectionEditorによって実装されていますが、それでも私のオブジェクトにフックする方法を見ることができません。

だから、私はどこに関連する方法を見つけるために探しているべきですか? アイテムの動作も変更する必要がありますか?

2 Answer


0


コレクションエディタは* Remove RemoveAt を使いません。 代わりに、ユーザーが[OK]ボタンを押すと、 IList.Clear メソッドが呼び出され、次に IList.Add が呼び出されてコレクションに含まれるすべての項目が追加されます。 それは IList *の非ジェネリック版で動作するということではありません。


0


さて、ラット!

私のCollectionEditorの中に実際のコレクションを入手する方法はありますか? コレクションを入手し、OKを押したらそれを比較し、そこからレコードを削除します。

それができなくても、マトリックスのスクリーンセーバーをちりばめて、いい本を見つけて、コンパイル中のすべての人に伝えてください。