我想让用户能够选择一个月\年我只会使用2个列表框,但我说Silverlight日历有一年模式,显示一年中的月份(不是所有月份)日子)。
但是当您点击一个月时,它会切换到显示所选月份的日期(月份模式)。
我尝试在SelectedDatesChanged事件中切换回年份模式。但意识到只有在我选择一个月中的特定日期之后才会触发(此时它会切换回年份模式)。
所以我的问题: - 我可以让日历保持年份模式吗? - 是否有选定月份的活动? - 我甚至可以选择月份吗?
感谢
答案 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);
}
}
}