В настоящее время я пытаюсь привязать 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?