После некоторых исследований и испытаний я нашел подходящее для меня решение. Ответ Нихила правильный, но я бы сказал, что он неполный, особенно если он относится к части DataTemplateSelector.
Сначала я создал класс с именем EntryGroup
, производный от List<Entry>
. После этого я создал Свойство для привязки в моей ViewModel с именем Entries
, которое было IEnumerable
типа EntryGroup
. Этот процесс описан здесь .
Я создал шаблон GroupHeader для отображения дат.
В моей ViewModel я получаю записи из своего репозитория и использую .GroupBy(it => it.Timestamp.Date)
Linq метод. Это возвращает IGrouping<DateTime, Entry>
. Поскольку он уже расширяет IEnumerable, половина работы выполнена. Я записал их в записи IEnumerable, используя foreach l oop.
Затем я создаю класс, производный от DataTemplateSelector
, и создал ImageTemplate
и TextTemplate
, как указано здесь