2

バインディング リストで ListChanged イベントをサブスクライブしています。リストが変更された場合 (アイテムの追加/削除)、内部リストを更新します。内部リストには、元のリストの項目に 1 対 1 で対応するオブジェクトが含まれています。アイテムの順序は異なる場合があります。

ドキュメントに基づいて、イベントが発生したとき、ListChangedEventArgs.ListChangedType は、ItemAdded、ItemDeleted、Reset、および ItemChanged のいずれかになります。ListChangedType は、リスト内の項目が変更された場合 (項目が別の項目に置き換えられた場合、またはそのプロパティの 1 つが変更された場合) に ItemChanged になります。

これらのケースをどのように区別して、リスト内の項目が別の項目に置き換えられた場合に内部リストをリロードできますが、それがプロパティの変更である場合は何もしませんか?

これを達成するためのより良い方法はありますか?

4

1 に答える 1

1

ListChangedEventArgs値が-1の項目が置換されている場合、その項目はOldIndex両方とも更新されており、同じ値を持っていますOldIndexNewIndex

于 2011-09-09T14:14:10.597 に答える