protected void OnCollectionRemoved(int index, object value) { // Reset state ready for a recalculation _selected = false; _trackItem = -1; Recalculate(); Invalidate(); }