現在、DataGrid.ItemsSourceをカスタムRowCollectionにバインドしようとしています。これは、IListとINotifyCollectionChangedを実装しています。
Public Class RowCollection(of T)
Implements IList(Of T)
Implements INotifyCollectionChanged
Private _List As New List(Of T)
...
(VBコードについては申し訳ありませんが、すべてのコードをすぐにC#に変換します。)
クラスは既存のCLRコレクションから派生していないことに注意してください。レコードページングを実装するためにGetItemAtをオーバーライドする必要があるため、独自のクラスを作成しました。コレクションは、独自のプライベートリストにオブジェクトを内部的に追加および削除します_List
。
これで、DataGridでアイテムを表示できますが、セルをダブルクリックして編集するとすぐに、InvalidOperationException:'EditItems'は使用できません。。
私の質問は、コレクションをDataGridと完全に互換性を持たせるために、他にどのようなインターフェイスを実装する必要があるかということです。