2010-08-17 48 views
5

我正在創建一個窗口,該窗口使用WPF日曆瀏覽在所示月份的指定日期創建的文檔。當日歷月份更改時,我搜索數據庫以查找在該月份創建的所有文檔,這些文檔用於創建具有文檔的月份中的日期列表。WPF日曆:黑體字指定日期?

在日曆控件中,我想粗體顯示具有文檔的日期,與Outlook粗體顯示具有約會的日期的方式相同。

所以,這是我的問題:如何在日曆控件的月視圖中粗體顯示特定日期?謝謝你的幫助。

回答

2

事實證明,加粗是硬編碼在幾個地方,所以我改變迄今爲止突出代替。我寫了一個具有HighlightedDates列表的自定義控件;將日期添加到列表中會突出顯示日期,併爲主機應用程序選擇的任何內容提供日期的可選工具提示。

我寫了一篇CodeProject文章,標題爲Extending the WPF Calendar。文章包含了控制並解釋了我如何構建它。

5

這可能有幫助。 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

謝謝! WPF和XAML中的代碼都被接受和代碼+1 - 非常有幫助。 – 2010-08-17 17:58:06

+0

沒問題,很高興幫助。 – XstreamINsanity 2010-08-17 18:01:42

+0

對不起 - 只好退出驗收。該解決方案選擇日期。我想要做的就是粗體。我將點擊一個日期來選擇它並顯示在該日期創建的Notes。留下+1以獲得有用的代碼。 – 2010-08-17 18:08:42