C#编写的基于Silverlight的自定义日历控件

大家都知道,Silverlight有自己自带的Calendar日历控件,如下图:

C#编写的基于Silverlight的自定义日历控件_第1张图片

Calendar控件的命名空间和其他控件一样,都是在System.Windows.Controls下,但是其是在System.Windows.Controls.dll程序集中定义的,所以要引入相应的xml命名空间。

SelectedDatesChanged - 选中日期后所触发的事件

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

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

FirstDayOfWeek - 控件所显示的每星期的第一天为星期几 [System.DayOfWeek枚举]

DisplayMode - 控件的显示模式 [System.Windows.Controls.DisplayMode枚举]

DisplayMode.Month - 标题显示年月,内容显示日期。默认值

DisplayMode.Year - 标题显示年,内容显示月

DisplayMode.Decade - 标题显示一个十年的区间,内容显示年

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

// Calendar.SelectedDate - 选中的日期

// Calendar.SelectedDates - 选中的多个日期集合

// Calendar.BlackoutDates - 不允许选择的日期集合

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

// Calendar.BlackoutDates.Clear() - 清除不允许选择的日期集合 的设置

// CalendarSelectionMode.None - 禁止选择日期

// CalendarSelectionMode.SingleRange - 可以选择多个日期,连续日期(Shift键配合)

// CalendarSelectionMode.MultipleRange - 可以选择多个日期,任意日期(Ctrl键配合)

// CalendarSelectionMode.SingleDate - 只能选择一个日期

总觉得silverlight自带的Calendar不太好控制,而且还不能显示节假日之类的。

在公司现在做的一个项目中要用到日历,觉得silverlight自带的太单调,就自己研究了一个,但是其中还存在一些不足。

下面是我做的一个日历控件,其中包含了阳历、阴历、阳历节日、阴历节日,以及显示了国家法定节假日等信息。如图所示:

C#编写的基于Silverlight的自定义日历控件_第2张图片
C#编写的基于Silverlight的自定义日历控件_第3张图片
C#编写的基于Silverlight的自定义日历控件_第4张图片

鼠标覆盖日期的时候则显示该日的阳历及其节日信息、阴历及其节日信息等详细信息。

当然,该控件还存在不足的地方,如外观不美观等,还有待增强。

部分代码:

C#编写的基于Silverlight的自定义日历控件_第5张图片
C#编写的基于Silverlight的自定义日历控件_第6张图片

这样的编程语言很简单,要不要一起来试试,有兴趣的同学可以点击C#语言教程下载。

你可能感兴趣的:(C#编写的基于Silverlight的自定义日历控件)