Нужна «сетка» стековых панелей для использования в качестве календаря - PullRequest
1 голос
/ 15 декабря 2011

В конечном счете, моя цель состоит в том, чтобы иметь сетку (под сеткой я имею в виду строки и столбцы, как бы она ни была достигнута) из небольших стековых панелей для представления временных интервалов в течение дня. Полагаю, не слишком отличается от следующего (простой макет типа календаря справа):

http://blogs.msdn.com/blogfiles/outlook/WindowsLiveWriter/ScheduleViewinOutlook2010_F3B0/clip_image002%5B4%5D_thumb.jpg

Мне нужен способ динамического создания этой сетки и соответствующего присвоения имен панелям для каждого случая, когда запускается событие (а точнее - событие удаления, событие удаления каждой панели будет связано с тем же методом, в котором я должен различать, какая панель (т.е. в какой момент дня и в какой строке) предмет был брошен).

Большое спасибо за любую помощь!

Dan

1 Ответ

2 голосов
/ 15 декабря 2011

Вы, вероятно, не получите полный код, чтобы сделать это отсюда, но я могу указать вам правильное направление.

Возможно, вы захотите использовать вложенный ItemsControl .Я делал что-то подобное в прошлом, когда мой внешний ItemsControl для Календаря был Grid, а ячейка сетки содержала внутреннюю ItemsControl с StackPanel из TaskItems.

.Самая важная часть - правильно настроить слой данных.Я использовал CalendarDayModel классы, которые имели свойство Date и список ObservableCollection<TaskModel>.Он также имел команды для обработки пользовательских событий, таких как события двойного щелчка.

Мой внешний ItemsControl был связан с ObservableCollection<CalendarDayModel>, а внутренний ItemsControl был связан с ObservableCollection<TaskModel>

У меня есть несколько примеров ItemsControl здесь , но обратите внимание на последний пример, который использует сетку.

...