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