Skip to content

Instantly share code, notes, and snippets.

@jfversluis
Created August 2, 2018 08:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jfversluis/e03664cc566840e1c64e0ee4c9caa5fb to your computer and use it in GitHub Desktop.
Save jfversluis/e03664cc566840e1c64e0ee4c9caa5fb to your computer and use it in GitHub Desktop.
Grouped alternate color datatemplateselector
public class AlternateColorDataTemplateSelector : DataTemplateSelector
{
public DataTemplate EvenTemplate { get; set; }
public DataTemplate UnevenTemplate { get; set; }
private List<string> flatList;
protected override DataTemplate OnSelectTemplate(object item, BindableObject container)
{
if (flatList == null)
{
var groupedList = (ObservableCollection<Grouping<string, string>>)((ListView)container).ItemsSource;
flatList = groupedList.SelectMany(group => group).ToList();
}
return flatList.IndexOf(item as string) % 2 == 0 ? EvenTemplate : UnevenTemplate;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment