Календарь 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));
}
Другие вопросы по тегам