簡體   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