@@ -74,15 +74,40 @@ private static void SelectedTimePropertyChangedCallback(DependencyObject depende
74
74
timePicker . SetCurrentValue ( TextProperty , timePicker . DateTimeToString ( timePicker . SelectedTime ) ) ;
75
75
timePicker . _isManuallyMutatingText = false ;
76
76
timePicker . _lastValidTime = timePicker . SelectedTime ;
77
+
78
+ OnSelectedTimeChanged ( timePicker , dependencyPropertyChangedEventArgs ) ;
77
79
}
78
80
79
81
public DateTime ? SelectedTime
80
82
{
81
83
get { return ( DateTime ? ) GetValue ( SelectedTimeProperty ) ; }
82
84
set { SetValue ( SelectedTimeProperty , value ) ; }
83
- }
85
+ }
86
+
87
+ public static readonly RoutedEvent SelectedTimeChangedEvent =
88
+ EventManager . RegisterRoutedEvent (
89
+ nameof ( SelectedTime ) ,
90
+ RoutingStrategy . Bubble ,
91
+ typeof ( RoutedPropertyChangedEventHandler < DateTime ? > ) ,
92
+ typeof ( TimePicker ) ) ;
93
+
94
+ public event RoutedPropertyChangedEventHandler < DateTime ? > SelectedTimeChanged
95
+ {
96
+ add => AddHandler ( SelectedTimeChangedEvent , value ) ;
97
+ remove => RemoveHandler ( SelectedTimeChangedEvent , value ) ;
98
+ }
99
+
100
+ private static void OnSelectedTimeChanged (
101
+ DependencyObject d , DependencyPropertyChangedEventArgs e )
102
+ {
103
+ var instance = ( TimePicker ) d ;
104
+ var args = new RoutedPropertyChangedEventArgs < DateTime ? > (
105
+ ( DateTime ? ) e . OldValue ,
106
+ ( DateTime ? ) e . NewValue ) { RoutedEvent = SelectedTimeChangedEvent } ;
107
+ instance . RaiseEvent ( args ) ;
108
+ }
84
109
85
- public static readonly DependencyProperty SelectedTimeFormatProperty = DependencyProperty . Register (
110
+ public static readonly DependencyProperty SelectedTimeFormatProperty = DependencyProperty . Register (
86
111
nameof ( SelectedTimeFormat ) , typeof ( DatePickerFormat ) , typeof ( TimePicker ) , new PropertyMetadata ( DatePickerFormat . Short ) ) ;
87
112
88
113
public DatePickerFormat SelectedTimeFormat
0 commit comments