internal void ProcessDownKey(bool ctrl, bool shift)
{
switch (DisplayMode)
{
case CalendarMode.Month:
{
if (!ctrl || shift)
{
DateTime? selectedDate = DateTimeHelper.AddDays(LastSelectedDate.GetValueOrDefault(DateTime.Today), ColumnsPerMonth);
ProcessSelection(shift, selectedDate, ColumnsPerMonth);
}
break;
}
case CalendarMode.Year:
{
if (ctrl)
{
DisplayDate = SelectedMonth;
DisplayMode = CalendarMode.Month;
}
else
{
DateTime? selectedMonth = DateTimeHelper.AddMonths(_selectedMonth, ColumnsPerYear);
OnSelectedMonthChanged(selectedMonth);
}
break;
}
case CalendarMode.Decade:
{
if (ctrl)
{
SelectedMonth = SelectedYear;
DisplayMode = CalendarMode.Year;
}
else
{
DateTime? selectedYear = DateTimeHelper.AddYears(SelectedYear, ColumnsPerYear);
OnSelectedYearChanged(selectedYear);
}
break;
}
}
}