У меня есть BindingList (T) , который я отображаю в DataGrid . Я наблюдаю за событиями ListChanged и выполняю различные действия, когда вызывается событие ListChanged .
Я проверяю аргумент ListChangeType события, чтобы проверить, как был изменен список, а затем отвечаю соответствующим образом. Однако я заметил, что существует ListChanged тип события ItemMoved .
У меня есть кнопки «Вверх» и «Вниз» для перемещения элементов вверх и вниз по списку. Но они фактически удаляют выбранный элемент, а затем снова вставляют его в более высокое или более низкое положение.
Однако я не вижу метода BindingList (T) , который бы выглядел так, как если бы он перемещал элемент в списке. Итак, я что-то упустил или просто нет способа переместить элемент в BindingList, который также вызвал бы событие ListChanged типа ItemMoved?
void FloorCollection_ListChanged(object sender, ListChangedEventArgs e)
{
if (e.ListChangedType == ListChangedType.ItemAdded)
{
//DO STUFF
}
else if (e.ListChangedType == ListChangedType.ItemDeleted)
{
//DO STUFF
}
else if (e.ListChangedType == ListChangedType.ItemMoved)
{
//HOW DO I GET THIS CODE TO RUN?
}
else if (e.ListChangedType == ListChangedType.ItemChanged)
{
//DO STUFF
}
}