繁体   English   中英

日历控件-显示季度

[英]Calendar Control - Display Quarters

我正在尝试将一个日历控件(WPF)放在一起,该控件仅显示本质上每季度一次的日期集合中的日期。

例如,我的日期集合(Datetime对象的列表)如下

31/Mar/2012

31/Dec/2012

30/Sep/2012

30/Jun/2012

30/Mar/2012

现在,我可以使用日历控件并将其显示模式设置为Year,以仅显示年月视图,但是如何将控件设置为不显示上述集合中不可用的月份,而仅显示日历中可用的月份。采集?

请注意,问题分为两部分:

  1. 将日历的显示模式设置为年份时,如何中断一个月?
  2. 我该如何取消不属于该系列的月份?

你能帮忙吗?

只需找到最小和最大日期,然后执行以下操作:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM