Unfortunately I could not find a generic fix for the problem. I noticed that if the DatePicker is part of a ContentTemplate and only the DataContext is changed, the event will fire. For example this will happen if you have a TabControl with templated items. (Similarly a master-details view). What happens is that when the DataContext is changed the binding changes the value of the DatePicker and the selection event fires.
This is expected, since the value does actually change. Could you please ignore the first event after data context change?
Also, the event fires when the control is first loaded and is bound. But then also the value is actually changed. The problem really is that the event does not fire right away, but only after the control is loaded. Again, could you please ignore the first event after the control has loaded.
Note that the SelectionChanged event is a routed event and can be canceled at any point along its route. (I.e. if you handle the event at a parent level, you can cancel it before it reaches the business-logic handlers.)
Again, sorry that we could not come up with a solution quickly. We will look into the problem of the late event firing, but unfortunately the behavior when the DataContext is changed is expected.
the Telerik team
Check out Telerik Trainer
, the state of the art learning tool for Telerik products.