VB.NET索引'0'超出范围?

时间:2013-06-01 18:53:39

标签: vb.net indexing range out inotifycollectionchanged

我在WPF中创建了一个带有ItemSource的ListBox,以及使UI刷新它的所有类和事件。但我的Remove方法存在问题:

  

Public Sub Remove(ItemIndex As Integer)
MyList.RemoveAt(ItemIndex)
RaiseEvent CollectionChanged(Me, New NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, MyList(ItemIndex)))
End Sub

但是当我执行此操作时,我收到一条消息,指示索引(在这种情况下为ItemIndex)超出范围。但是在输出窗口中它表示索引为'0'(否则它将从MyList中删除该项目。)

1 个答案:

答案 0 :(得分:0)

问题解决了!我改变了代码

  

Public Sub Remove(ItemIndex As Integer)
MyList.RemoveAt(ItemIndex)
RaiseEvent CollectionChanged(Me, New NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, MyList(ItemIndex)))
End Sub

  

Public Sub Remove(ItemIndex As Integer)
RaiseEvent CollectionChanged(Me, New NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, MyList(ItemIndex), ItemIndex))
MyList.RemoveAt(ItemIndex)
End Sub

就是这样。