public void InitializeCalendar(DateTime targetDate) { CalendarDays.Clear(); // First day of the targeted month. var firstDay = new Date(targetDate.Year, targetDate.Month, 1); // Make sure that each calendar page starts with a monday. var dayOfTheWeek = firstDay.DayOfWeek; firstDay = firstDay.AddDays(-dayOfTheWeek); // Each calendar page has six weeks (rows). That means that we will show 42 days in total. for (var i = 0; i < 42; i++) { var calendarDay = new CalendarDay { Date = firstDay, IsTargetMonth = targetDate.Month == firstDay.Month, IsToday = firstDay == Date.Today }; CalendarDays.Add(calendarDay); // Move to the next day. firstDay = firstDay.AddDays(1); } }
public DayChangedEventArgs(CalendarDay calendarDay) { this.CalendarDay = calendarDay; }