diff --git a/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/TimePicker/Implementation/TimeItem.cs b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/TimePicker/Implementation/TimeItem.cs index c7075ba6..6b88f1d5 100644 --- a/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/TimePicker/Implementation/TimeItem.cs +++ b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/TimePicker/Implementation/TimeItem.cs @@ -12,5 +12,23 @@ namespace Microsoft.Windows.Controls Display = display; Time = time; } + + #region Base Class Overrides + + public override bool Equals(object obj) + { + var item = obj as TimeItem; + if (item != null) + return Time == item.Time; + else + return false; + } + + public override int GetHashCode() + { + return Time.GetHashCode(); + } + + #endregion //Base Class Overrides } } diff --git a/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/TimePicker/Implementation/TimePicker.cs b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/TimePicker/Implementation/TimePicker.cs index e9272080..4bcf5c9f 100644 --- a/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/TimePicker/Implementation/TimePicker.cs +++ b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/TimePicker/Implementation/TimePicker.cs @@ -64,7 +64,7 @@ namespace Microsoft.Windows.Controls SetValue(EndTimeProperty, value); } } - + #endregion //EndTime @@ -181,7 +181,7 @@ namespace Microsoft.Windows.Controls SetValue(StartTimeProperty, value); } } - + #endregion //StartTime @@ -226,8 +226,22 @@ namespace Microsoft.Windows.Controls protected virtual void OnValueChanged(DateTime? oldValue, DateTime? newValue) { - // TODO: Add your property changed side-effects. Descendants can override as well. - } + //TODO: refactor this + if (newValue.HasValue) + { + var items = _timeListBox.ItemsSource; + foreach (TimeItem item in items) + { + if (item.Time == newValue.Value.TimeOfDay) + { + int index = _timeListBox.Items.IndexOf(item); + if (_timeListBox.SelectedIndex != index) + _timeListBox.SelectedIndex = index; + break; + } + } + } + } #endregion //Value