public CalendarWeekViewModel(DateTime date) { _date = date; // Vytvoření Commandů pro navigaci kalendářem po týdnech Command_CurrentWeek = new ChangeViewModelCommand <CalendarWeekViewModel>(DateTime.Now); Command_PreviousWeek = new ChangeViewModelCommand <CalendarWeekViewModel>(_date.AddDays(-7)); Command_NextWeek = new ChangeViewModelCommand <CalendarWeekViewModel>(_date.AddDays(7)); DayCells = new(); for (int i = 0; i < 7; i++) { DayCells.Add(new DayCellViewModel(FirstDay.AddDays(i))); } }
public CalendarMonthViewModel(DateTime yearAndMonth) { _yearAndMonth = yearAndMonth; // Vytvoření Commandů pro navigaci kalendářem po měsících Command_CurrentMonth = new ChangeViewModelCommand <CalendarMonthViewModel>(DateTime.Now); Command_PreviousMonth = new ChangeViewModelCommand <CalendarMonthViewModel>(_yearAndMonth.AddMonths(-1)); Command_NextMonth = new ChangeViewModelCommand <CalendarMonthViewModel>(_yearAndMonth.AddMonths(1)); // Získá den týdne (po-ne) prvního dne měsíce (a stanoví pondělí jako první den týdne) FirstDayOfWeek = ((int)(new DateTime(Year, Month, 1).DayOfWeek) + 6) % 7; // Do Listu s buňkami přidá tolik buněk, kolik má měsíc dnů, a zviditelní je DayCells = new(); for (int i = 0; i < DateTime.DaysInMonth(Year, Month); i++) { DayCells.Add(new DayCellViewModel(new DateTime(Year, Month, i + 1)) { Visibility = Visibility.Visible }); } }