Hello,
I need to have a custom template for the last view cell (and for some other cells). So I need to get the list count in my DataTemplateSelector.
I tried
<ListView x:Name="StatusList" ItemsSource="{Binding ListStatus}" SeparatorVisibility="None" HasUnevenRows="True"> <ListView.ItemTemplate> <interfaces:SuiviDataTemplateSelector x:Key="SuiviDataTemplateSelector" TemplateEmpty="{StaticResource TemplateEmpty}" TemplateMessage="{StaticResource TemplateMessage}" TemplateFinal="{StaticResource TemplateFinal}" ListViewLength="{Binding Source={x:Reference Name=StatusList},Path=BindingContext.ListStatus.Count}"/> </ListView.ItemTemplate> <ListView.RowHeight> <OnIdiom x:TypeArguments="x:Int32" Phone="100" Tablet="120"/> </ListView.RowHeight> </ListView>
but it dosen't work I get the "Position xx:yy. No property, bindable property, or event found for 'ListViewLength', or mismatching type between value and property. " error.
And my selector:
`class SuiviDataTemplateSelector : DataTemplateSelector
{
public DataTemplate TemplateMessage { get; set; }
public DataTemplate TemplateEmpty { get; set; }
public DataTemplate TemplateFinal { get; set; }
public int ListViewLength { get; set; }
protected override DataTemplate OnSelectTemplate(object item, BindableObject container)
{
var listView = container as ListView;
// var statusList = listView.Parent as
if (((StatutSuivi)item).Id >= ListViewLength)
return TemplateFinal;
else
{
if (((StatutSuivi)item).Done == false)
return TemplateEmpty;
else
return TemplateMessage;
}
}
}`
Can anyone help?