Событие BindingList ListChanged

Я подписываюсь на событие ListChanged в списке привязок. Когда список изменился (элемент добавлен / удален), я обновлю внутренний список. Внутренний список содержит объекты, которые 1-1 соответствуют элементам в исходном списке. Заказ товара может быть разным.

На основании документа, когда событие вызывается, ListChangedEventArgs.ListChangedType может быть одним из следующих: ItemAdded, ItemDeleted, Reset и ItemChanged. ListChangedType - это ItemChanged, когда элемент в списке изменяется, либо элемент заменяется другим, либо изменяется его свойство.

Как я могу дифференцировать эти случаи, чтобы я мог перезагрузить внутренний список, если элемент в списке заменен другим, но ничего не делать, если это изменение свойства?

Есть ли лучший способ сделать это?

1 ответ

Решение

Если элемент заменяется ListChangedEventArgs имеет OldIndex из -1, это обновляется как OldIndex а также NewIndex имеют одинаковое значение.

Другие вопросы по тегам