0

私はWPFでListBoxをItemSource作成し、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)。

4

1 に答える 1

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

それで全部です。

于 2013-06-02T09:24:46.780 に答える