I have my viewmodel a below -
public class LeadershipViewModel
{
private PfsServiceArea _oldProduct;
public ObservableCollection Products { get; set; }
public LeadershipViewModel()
{
Products = new ObservableCollection();
var PFSArea = new PfsServices().GetPFSServiceArea("Leadership");
if (PFSArea.Count > 0){
foreach(PfsServiceArea pf in PFSArea){
Products.Add(pf);
}
}
}
public void ShowOrHidePoducts(PfsServiceArea product)
{
if (_oldProduct == product)
{
// click twice on the same item will hide it
product.ShowDescription = false;
product.ShowDisplay = true;
UpdateProducts(product);
}
else
{
if (_oldProduct != null)
{
// hide previous selected item
product.ShowDescription = true;
product.ShowDisplay = false;
UpdateProducts(_oldProduct);
}
// show selected item
product.ShowDescription = true;
product.ShowDisplay = false;
UpdateProducts(product);
}
_oldProduct = product;
}
private void UpdateProducts(PfsServiceArea product)
{
var index = Products.IndexOf(product);
Products.Remove(product);
Products.Insert(index, product);
}
And I have binded it with listview like below -
Private LeadershipViewModel leader = new LeadershipViewModel();
sicCodeList = new CustomListview(ListViewCachingStrategy.RetainElement)
{
HorizontalOptions = LayoutOptions.StartAndExpand,
VerticalOptions = LayoutOptions.EndAndExpand,
ItemTemplate = sicDataTemplate,
SeparatorVisibility = SeparatorVisibility.None,
Margin = new Thickness(-5, 0, 0, 0),
BindingContext = leader
};
sicCodeList.HasUnevenRows = true;
//sicCodeList.BindingContext = leader;
sicCodeList.SetBinding(ListView.ItemsSourceProperty, "Products");
sicCodeList.ItemTapped += (sender, e) => OnItemTapped(sender, e);
I can see 4 items in leader but they are not visible in the listview. Can someone tell me why is this?