From 8974f987735b9cfd0c8f00ba55bd0bc7a5bf4c4b Mon Sep 17 00:00:00 2001 From: brianlagunas_cp Date: Wed, 23 Mar 2011 22:27:30 +0000 Subject: [PATCH] Working on TimePicker --- .../TimePicker/Implementation/TimeItem.cs | 18 +++++++++++++++ .../TimePicker/Implementation/TimePicker.cs | 22 +++++++++++++++---- 2 files changed, 36 insertions(+), 4 deletions(-) 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