Я пытаюсь создать элемент управления, который будет иметь функции, аналогичные календарю просмотра месяцев MS Outlook. На самом деле, мне удалось сделать весь контроль, но я столкнулся с проблемой, и теперь я застрял. Вот как я это реализовал:
Я создал контейнер ItemsCollection MonthView
, который ориентирован вертикально. Этот контейнер содержит коллекцию горизонтально ориентированных ItemsCollection WeekView
- каждый из этих элементов управления представляет одну строку недели в календаре. Каждый WeekView
содержит коллекцию ItemsCollection DayView
элементов управления, которая представляет собой вертикально ориентированный контейнер и используется для хранения встреч. Вот картина, которая иллюстрирует все это:
Каждая коллекция DayView
привязана к списку List<Appointment> Appointments
и имеет фильтр, отображающий только те встречи, которые запланированы на этот конкретный день. Все это выглядит хорошо, но здесь есть одна загвоздка: если Appointment appointment
запланирован на более чем один день (многодневное действие), одна и та же запись видна в нескольких контейнерах DayView
, что логично.
Я хотел бы иметь один элемент управления встречами для распределения по нескольким DayView
с, если он запланирован на более чем один день. Я не знаю, как это реализовать. Может ли кто-нибудь сообщить мне, что мне нужно изменить в моем дизайне и как определить шаблон для Appointment
, чтобы поддержать это требование? Спасибо.