How to reproduce: public partial class Form2 : Form { BindingList<AppointmenntObject> appointments; BindingSource bs; public Form2() { InitializeComponent(); this.appointments = new BindingList<AppointmenntObject>(); this.bs = new BindingSource(); this.bs.DataSource = this.appointments; for (int i = 0; i <= 3; i++) { appointments.Add(new AppointmenntObject(DateTime.Now.AddDays(i), DateTime.Now.AddDays(i).AddHours(2), "Summary " + i, "Description" + i, "Location" + i)); } AppointmentMappingInfo appointmentMappingInfo = new AppointmentMappingInfo(); appointmentMappingInfo.Start = "Start"; appointmentMappingInfo.End = "End"; appointmentMappingInfo.Description = "Description"; appointmentMappingInfo.Summary = "Summary"; this.schedulerBindingDataSource1.EventProvider.Mapping = appointmentMappingInfo; schedulerBindingDataSource1.EventProvider.DataSource = this.bs; this.radScheduler1.DataSource = this.schedulerBindingDataSource1; } private void button1_Click(object sender, EventArgs e) { var ev = (AppointmenntObject)this.bs.Current; var end = ev.End; ev.End = end.AddHours(1); } } public class AppointmenntObject : INotifyPropertyChanged { private DateTime start; private DateTime end; private string summary; private string description; private string location; public AppointmenntObject(DateTime start, DateTime end, string summary, string description, string location) { this.Start = start; this.End = end; this.Summary = summary; this.Description = description; this.Location = location; } public DateTime Start { get { return this.start; } set { if (this.start != value) { this.start = value; OnPropertyChanged("Start"); } } } public DateTime End { get { return this.end; } set { if (this.end != value) { this.end= value; OnPropertyChanged("end"); } } } public string Description { get { return this.description; } set { if (this.description != value) { this.description = value; OnPropertyChanged("Description"); } } } public string Summary { get { return this.summary; } set { if (this.summary != value) { this.summary= value; OnPropertyChanged("Summary"); } } } public string Location { get { return this.location; } set { if (this.location != value) { this.location = value; OnPropertyChanged("Location"); } } } public event PropertyChangedEventHandler PropertyChanged; protected virtual void OnPropertyChanged(string propertyName) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } } Workaround: Rebind the SchedulerBindingDataSource object private void button1_Click(object sender, EventArgs e) { var ev = (AppointmenntObject)this.bs.Current; var end = ev.End; ev.End = end.AddHours(1); this.schedulerBindingDataSource1.Rebind(); }