Календарь WPF: жирным шрифтом указаны даты? - PullRequest
6 голосов
/ 17 августа 2010

Я создаю окно, которое использует календарь WPF для просмотра документов, созданных в указанные даты в течение указанного месяца.Когда календарь меняет месяц, я выполняю поиск в базе данных всех документов, созданных в течение этого месяца, которые я использую для создания списка дат в течение месяца, в котором есть документы.

В элементе управления Календарь я хочу выделить жирнымдаты, в которых есть документы, так же, как в жирном шрифте Outlook даты, в которых есть встречи.

Итак, вот мой вопрос: как выделить жирным шрифтом определенную дату в представлении месяца элемента управления Calendar?Спасибо за вашу помощь.

Ответы [ 2 ]

7 голосов
/ 17 августа 2010

Это может помочь. http://www.c -sharpcorner.com / UploadFile / Махеш / 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));
}
3 голосов
/ 20 августа 2010

Оказывается, жирный шрифт жестко закодирован в нескольких местах, поэтому я переключился на подсветку даты. Я написал пользовательский элемент управления, который имеет список HighlightedDates; добавление даты в список выделяет дату и предоставляет дополнительную подсказку для даты с любым содержимым, выбранным хост-приложением.

Я написал статью CodeProject под названием Расширение календаря WPF . Статья включает в себя элемент управления и объясняет, как я его построил.

...