【发布时间】:2010-11-17 05:50:21
【问题描述】:
我有一个 BindingList(T),我在 DataGrid 中显示它。我正在观察 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
}
}
【问题讨论】:
标签: c# list events bindinglist