У меня есть BindingList (T), который я показываю в DataGrid. Я наблюдаю за событиями ListChanged и выполняю различные действия при возникновении события ListChanged.
Я проверяю аргумент ListChangeType, чтобы проверить, как был изменен список, и затем соответствующим образом реагировать. Однако я заметил, что существует тип события ListChanged ItemMoved.
У меня есть кнопки для "Move Up" и "Move Down" для перемещения элементов вверх и вниз по списку. Но они фактически удаляют выбранный элемент, а затем снова вставляют его в более высокое или нижнее положение.
Однако я не вижу никакого метода 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
}
}