WPF日历:粗体字指定日期?

时间:2010-08-17 17:27:03

标签: wpf wpf-controls calendar

我正在创建一个窗口,该窗口使用WPF日历浏览在显示的月份内在指定日期创建的文档。当日历更改月份时,我会在数据库中搜索该月份创建的所有文档,我用它来创建月份中包含文档的日期列表。

在Calendar控件中,我想以粗体显示那些包含文档的日期,其方式与Outlook以粗体显示约会日期的方式相同。

所以,这是我的问题:如何在Calendar控件的月视图中以粗体显示特定日期?谢谢你的帮助。

2 个答案:

答案 0 :(得分:6)

这可能会有所帮助。 http://www.c-sharpcorner.com/UploadFile/mahesh/539/Default.aspx “选定日期和选定日期”区域将向您显示如何选择它们,进一步向下可以显示如何设置日历格式。也就是说,如果你使用我希望你的相同日历。希望这会有所帮助。

选定日期和所选日期

SelectedDate属性表示当前选定的日期。如果多个日期选择为true,则SelectedDates属性表示日历中的所有选定日期。以下代码段在设计时设置XAML中的SelectedDates。

<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所示,您可以在其中看到3月5日,15日和25日的浅蓝色背景并代表所选日期。

以下代码段在运行时在WPF中设置SelectedDates属性。

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));
}

答案 1 :(得分:2)

事实证明,boldfacing在几个地方都是硬编码的,因此我更改为日期突出显示。我写了一个自定义控件,它有一个HighlightedDates列表;在列表中添加日期会突出显示日期,并为主机应用选择的任何内容提供日期的可选工具提示。

我写了一篇名为Extending the WPF Calendar的CodeProject文章。这篇文章包括控件并解释了我是如何构建它的。