private static void SelectedTimePropertyChanged(DependencyObject sender,
DependencyPropertyChangedEventArgs e)
{
TimePicker timePicker = (TimePicker)sender;
TimeSpan newTime = (TimeSpan)e.NewValue;
TimeSpan oldTime = (TimeSpan)e.OldValue;
if (!timePicker.isUpdatingTime)
{
timePicker.BeginUpdateSelectedTime();//signal that the selected time is being updated
if (timePicker.SelectedHour != newTime.Hours)
{
timePicker.SelectedHour = newTime.Hours;
}
if (timePicker.SelectedMinute != newTime.Minutes)
{
timePicker.SelectedMinute = newTime.Minutes;
}
if (timePicker.SelectedSecond != newTime.Seconds)
{
timePicker.SelectedSecond = newTime.Seconds;
}
timePicker.EndUpdateSelectedTime();//signal that the selected time has been updated
timePicker.OnTimeSelectedChanged(timePicker.SelectedTime, oldTime);
}
}