我有一个在DataGrid中显示的BindingList(T)。我正在监视ListChanged事件并在引发ListChanged事件时执行不同的操作。
我正在检查事件的ListChangeType参数以检查列表是如何更改的,然后做出相应的响应。但是,我注意到有一个ListChanged事件类型ItemMoved。
我有“上移”和“下移”按钮来在列表中上下移动项目。但这些实际上是删除选定的项目,然后将其重新插入到更高或更低的位置。
但是,我没有看到任何BindingList(T)方法看起来会移动列表中的项目。那么我是否遗漏了某些东西,或者只是没有办法在 BindingList 中移动一个也会引发 ItemMoved 类型 ListChanged 事件的项目?
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
}
}