C#編寫(xiě)的基于Silverlight的自定義日歷控件

大家都知道,Silverlight有自己自帶的Calendar日歷控件,如下圖:

Calendar控件的命名空間和其他控件一樣,都是在System.Windows.Controls下,但是其是在System.Windows.Controls.dll程序集中定義的,所以要引入相應(yīng)的xml命名空間。

SelectedDatesChanged - 選中日期后所觸發(fā)的事件

DisplayDateEnd - 此日期之后的日期不予顯示

DisplayDateStart - 此日期之前的日期不予顯示

FirstDayOfWeek - 控件所顯示的每星期的第一天為星期幾 [System.DayOfWeek枚舉]

DisplayMode - 控件的顯示模式 [System.Windows.Controls.DisplayMode枚舉]

DisplayMode.Month - 標(biāo)題顯示年月,內(nèi)容顯示日期。默認(rèn)值

DisplayMode.Year - 標(biāo)題顯示年,內(nèi)容顯示月

DisplayMode.Decade - 標(biāo)題顯示一個(gè)十年的區(qū)間,內(nèi)容顯示年

IsTodayHighlighted - 是否高亮顯示今天的日期

// Calendar.SelectedDate - 選中的日期

// Calendar.SelectedDates - 選中的多個(gè)日期集合

// Calendar.BlackoutDates - 不允許選擇的日期集合

// Calendar.BlackoutDates.AddDatesInPast() - 禁止選擇今天之前的日期

// Calendar.BlackoutDates.Clear() - 清除不允許選擇的日期集合 的設(shè)置

// CalendarSelectionMode.None - 禁止選擇日期

// CalendarSelectionMode.SingleRange - 可以選擇多個(gè)日期,連續(xù)日期(Shift鍵配合)

// CalendarSelectionMode.MultipleRange - 可以選擇多個(gè)日期,任意日期(Ctrl鍵配合)

// CalendarSelectionMode.SingleDate - 只能選擇一個(gè)日期

總覺(jué)得silverlight自帶的Calendar不太好控制,而且還不能顯示節(jié)假日之類(lèi)的。

在公司現(xiàn)在做的一個(gè)項(xiàng)目中要用到日歷,覺(jué)得silverlight自帶的太單調(diào),就自己研究了一個(gè),但是其中還存在一些不足。

下面是我做的一個(gè)日歷控件,其中包含了陽(yáng)歷、陰歷、陽(yáng)歷節(jié)日、陰歷節(jié)日,以及顯示了國(guó)家法定節(jié)假日等信息。如圖所示:

鼠標(biāo)覆蓋日期的時(shí)候則顯示該日的陽(yáng)歷及其節(jié)日信息、陰歷及其節(jié)日信息等詳細(xì)信息。

當(dāng)然,該控件還存在不足的地方,如外觀不美觀等,還有待增強(qiáng)。

部分代碼:

這樣的編程語(yǔ)言很簡(jiǎn)單,要不要一起來(lái)試試,有興趣的同學(xué)可以點(diǎn)擊C#語(yǔ)言教程下載

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容