/// <summary> /// Ereignisbehandlung, tritt ein, wenn die Terminliste verändert wurde /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnAppointmentCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { switch (e.Action) { case NotifyCollectionChangedAction.Add: foreach (var appointment in e.NewItems.Cast <CalendarAppointment>()) { CalendarDay day = null; if (this.displayedDays.TryGetValue(appointment.AppointmentDate, out day)) { day.AddAppointment(appointment); } } break; case NotifyCollectionChangedAction.Remove: foreach (var appointment in e.OldItems.Cast <CalendarAppointment>()) { CalendarDay day = null; if (this.displayedDays.TryGetValue(appointment.AppointmentDate, out day)) { day.RemoveAppointment(appointment); } } break; case NotifyCollectionChangedAction.Reset: foreach (var day in this.displayedDays.Values) { day.ClearAppointments(); } break; } }
private void ApplyAppointments() { foreach (var day in this.displayedDays.Values) { day.ClearAppointments(); } if (this.Appointments != null) { foreach (var appointment in this.Appointments) { CalendarDay day = null; if (this.displayedDays.TryGetValue(appointment.AppointmentDate, out day)) { day.AddAppointment(appointment); } } } }