我正在创建一个窗口,该窗口使用WPF日历浏览在显示的月份内在指定日期创建的文档。当日历更改月份时,我会在数据库中搜索该月份创建的所有文档,我用它来创建月份中包含文档的日期列表。
在Calendar控件中,我想以粗体显示那些包含文档的日期,其方式与Outlook以粗体显示约会日期的方式相同。
所以,这是我的问题:如何在Calendar控件的月视图中以粗体显示特定日期?谢谢你的帮助。
答案 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文章。这篇文章包括控件并解释了我是如何构建它的。