Календарь WPF: жирным шрифтом указаны даты?
Я создаю окно, которое использует календарь WPF для просмотра документов, созданных в указанные даты в течение указанного месяца. Когда календарь меняет месяц, я ищу в базе данных все документы, созданные в течение этого месяца, которые я использую для создания списка дат в течение месяца, в которых есть документы.
В элементе управления "Календарь" я хочу выделить жирным шрифтом те даты, у которых есть документы, так же, как и жирным шрифтом Outlook даты, у которых есть встречи.
Итак, вот мой вопрос: как мне выделить определенную дату в представлении месяца элемента управления Calendar? Спасибо за вашу помощь.
2 ответа
Оказывается, что жирный шрифт жестко запрограммирован в нескольких местах, поэтому я переключился на подсвечивание даты. Я написал пользовательский элемент управления, который имеет список HighlightedDates; добавление даты в список выделяет дату и предоставляет дополнительную подсказку для даты с любым содержимым, которое выберет хост-приложение.
Я написал статью CodeProject под названием " Расширение календаря WPF". Статья включает в себя элемент управления и объясняет, как я его построил.
Это может помочь. http://www.c-sharpcorner.com/UploadFile/mahesh/539/Default.aspx Область "Выбранная дата и выбранные даты" покажет вам, как их выбрать, а далее внизу вы увидите, как отформатировать календарь., То есть, если вы используете тот же календарь, который, я надеюсь, вы используете. Надеюсь это поможет.
Выбранная дата и выбранные даты
Свойство SelectedDate представляет текущую выбранную дату. Если для выбора нескольких дат задано значение true, свойство SelectedDates представляет все выбранные даты в календаре. Следующий фрагмент кода устанавливает SelectedDates в XAML во время разработки.
<Calendar Name="MonthlyCalendar"
SelectionMode="MultipleRange"
DisplayDate="3/5/2010"
DisplayDateStart="3/1/2010"
DisplayDateEnd="3/31/2010"
FirstDayOfWeek="Tuesday"
IsTodayHighlighted="True"
xmlns:sys="clr-namespace:System;assembly=mscorlib" Margin="15,39,88,19">
<Calendar.SelectedDates>
<sys:DateTime>3/5/2010</sys:DateTime>
<sys:DateTime>3/15/2010</sys:DateTime>
<sys:DateTime>3/25/2010</sys:DateTime>
</Calendar.SelectedDates>
</Calendar>
Выбранные даты в календаре выглядят так, как показано на рисунке 8, где вы можете видеть, что 5, 15 и 25 марта имеют светло-синий фон и представляют выбранные даты.
Следующий фрагмент кода устанавливает свойство SelectedDates в WPF во время выполнения.
private void AddSelectedDates()
{
MonthlyCalendar.SelectedDates.Add(new DateTime(2010, 3, 5));
MonthlyCalendar.SelectedDates.Add(new DateTime(2010, 3, 15));
MonthlyCalendar.SelectedDates.Add(new DateTime(2010, 3, 25));
}