public string GetItemKey(ItemType item) { if (item != null && Items != null) { if (ItemKey != null) { return(ItemKey?.Invoke(item).ToString()); } else if (typeof(ItemType) == typeof(ListItem)) { return(item.ToString()); } else { return(Items.ToList().IndexOf(item).ToString()); } } else { return(null); } }