在年份模式下单击Silverlight日历中的月份,获取所选月份并保持年份模式?

时间:2010-10-22 17:09:33

标签: silverlight calendar

我想让用户能够选择一个月\年我只会使用2个列表框,但我说Silverlight日历有一年模式,显示一年中的月份(不是所有月份)日子)。

但是当您点击一个月时,它会切换到显示所选月份的日期(月份模式)。

我尝试在SelectedDatesChanged事件中切换回年份模式。但意识到只有在我选择一个月中的特定日期之后才会触发(此时它会切换回年份模式)。

所以我的问题: - 我可以让日历保持年份模式吗? - 是否有选定月份的活动? - 我甚至可以选择月份吗?

感谢

1 个答案:

答案 0 :(得分:2)

可以使用DisplayModeChanged事件。我的情况我需要第一个日期和所选月份的最后日期......下面的代码可以满足我的需要。

private void CalendarDisplayModeChanged(object sender, CalendarModeChangedEventArgs e)
{    
    //control might be null at start up so check for null
    //probably could hook up event in Loaded or constructor instead of xaml to prevent this
    if (calendarInYearMode != null) {
          //reset back to year mode
        calendarInYearMode.DisplayMode = CalendarMode.Year;
        if (calendarInYearMode.DisplayDate != DateTime.MinValue) {
            var beginningOfMonthDate = calendarInYearMode.DisplayDate;
            var endOfMonthDate = calendarInYearMode.DisplayDate.AddMonths(1).AddDays(-1);       
        }
    }
}