[英]Calendar Control - Display Quarters
我正在尝试将一个日历控件(WPF)放在一起,该控件仅显示本质上每季度一次的日期集合中的日期。
例如,我的日期集合(Datetime对象的列表)如下
31/Mar/2012
31/Dec/2012
30/Sep/2012
30/Jun/2012
30/Mar/2012
现在,我可以使用日历控件并将其显示模式设置为Year,以仅显示年月视图,但是如何将控件设置为不显示上述集合中不可用的月份,而仅显示日历中可用的月份。采集?
请注意,问题分为两部分:
你能帮忙吗?
只需找到最小和最大日期,然后执行以下操作:
calendarControl.BlackoutDates.Add(new CalendarDateRange(minDate, maxDate));
更进一步,您可以进行范围调整,因此可以说它不是那么简单,并且您需要多个范围(尽管从您的问题来看它看起来并不像它),那么您可以这样做:
calendarControl.BlackoutDates.Add(new CalendarDateRange(rangeStart, rangeEnd));
您甚至还可以将特定日期涂黑,例如:
calendarControl.BlackoutDates.Add(new CalendarDateRange(blackoutDate));
因此,就您而言,仅将某些日期涂黑可能是最容易的。 只需遍历列表并利用我给您的最后一个代码示例即可。
您可以尝试这样的事情:
public void BlackOutDates(startDate, endDate, periodInDays)
{
while(startDate < endDate)
{
calender.BlackoutDates.Add(new CalendarDateRange(startDate, startDate.AddDays(periodInDays));
startDate = startDate.AddDays(periodInDays+1);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.