public void BindItem(object item)
        {
            int index = IndexOf(item);
            RecycledListItem listItem = GetListItem(index);

            OnBindItem?.Invoke(index, item, listItem);
        }
 private void UpdateItemContentsBetweenIndicies(int topIndex, int bottomIndex)
 {
     for (int i = topIndex; i <= bottomIndex; i++)
     {
         RecycledListItem item = items[i];
         item.Position = i;
         OnBindItem?.Invoke(i, itemsSource[i], item);
     }
 }