В WPF, как лучше всего создать представление календаря, похожее на Outlook 2007? - PullRequest
2 голосов
/ 28 апреля 2009

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

  1. Использование элементов управления макетом - элемент управления Grid, где каждая «ячейка» содержит ListView

  2. Использование ListView + GridView, а затем настройка стиля, чтобы он больше походил на календарь

На мой взгляд, элементы управления компоновкой было бы проще реализовать, но что-то в этом кажется грязным. По сути, я бы жестко запрограммировал 28 ячеек, каждая из которых содержала бы ListView. Но опять же, это было бы просто.

Я думаю, что ListView / GridView был бы более элегантным, но мне все еще нужно создать ListView для каждой ячейки, а затем мне нужно выяснить, как стилизовать элемент управления таким образом, чтобы он больше походил на календарь и меньше как стол.

Мысли

Ответы [ 3 ]

2 голосов
/ 28 апреля 2009

Вы можете использовать ListBox с UniformGrid. Это позаботится о создании базовой компоновки. С небольшим переключением в текущем месяце для изменения стиля, когда отображаемый день не в текущем месяце.

Тогда каждый день может иметь ListView или ListBox как часть своего шаблона для отображения задач / собраний / чего угодно.

Все это будет связано с набором объектов, которые представляют "дни" и их содержание.

ListBox обычно является хорошей ставкой для базы ItemsControl.

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

1 голос
/ 28 апреля 2009

Посмотрите на источник Silverlight Toolkit , он может работать в WPF

1 голос
/ 28 апреля 2009

Возможно, вам поможет следующий пример: http://www.codeproject.com/KB/WPF/WPFOutlookCalendar.aspx

...