private void NextMonthOrYearOnClick(object sender, MouseButtonEventArgs e) { if (CurrentState == CalendarState.Days) { SelectedMonth = Math.Min(Months.Last().Key, SelectedMonth + 1); } else if (CurrentState == CalendarState.Months) { SelectedYear = Math.Min(MaxYear, SelectedYear + 1); } }
private void CacheNextMonths() { var monthsToAdd = new List <MonthViewModel>(); var lastMonth = Months.Last(); for (int i = 1; i < CachedMonthCount; i++) { var monthToAddDateTime = lastMonth.CurrentDate.AddMonths(i); var monthToAdd = new MonthViewModel( monthToAddDateTime, SelectDayCommand, _toDoCalendarViewModel.GetDaysWithToDoByDateAndStatus(monthToAddDateTime, ConstantsHelper.Active), _toDoCalendarViewModel.GetDaysWithToDoByDateAndStatus(monthToAddDateTime, ConstantsHelper.Completed)); monthsToAdd.Add(monthToAdd); Months.RemoveAt(0); } Months.AddRange(monthsToAdd); }