@@ -16,6 +16,18 @@ private sealed class ComboBoxHintProxy : IHintProxy
1616 private readonly ComboBox _comboBox ;
1717 private readonly TextChangedEventHandler _comboBoxTextChangedEventHandler ;
1818
19+ public ComboBoxHintProxy ( ComboBox comboBox )
20+ {
21+ if ( comboBox == null ) throw new ArgumentNullException ( nameof ( comboBox ) ) ;
22+
23+ _comboBox = comboBox ;
24+ _comboBoxTextChangedEventHandler = ComboBoxTextChanged ;
25+ _comboBox . AddHandler ( TextBoxBase . TextChangedEvent , _comboBoxTextChangedEventHandler ) ;
26+ _comboBox . SelectionChanged += ComboBoxSelectionChanged ;
27+ _comboBox . Loaded += ComboBoxLoaded ;
28+ _comboBox . IsVisibleChanged += ComboBoxIsVisibleChanged ;
29+ }
30+
1931 public object Content
2032 {
2133 get
@@ -47,21 +59,9 @@ public bool IsEmpty()
4759
4860 public event EventHandler Loaded ;
4961
50- public ComboBoxHintProxy ( ComboBox comboBox )
51- {
52- if ( comboBox == null ) throw new ArgumentNullException ( nameof ( comboBox ) ) ;
53-
54- _comboBox = comboBox ;
55- _comboBoxTextChangedEventHandler = new TextChangedEventHandler ( ComboBoxTextChanged ) ;
56- _comboBox . AddHandler ( TextBoxBase . TextChangedEvent , _comboBoxTextChangedEventHandler ) ;
57- _comboBox . SelectionChanged += ComboBoxSelectionChanged ;
58- _comboBox . Loaded += ComboBoxLoaded ;
59- _comboBox . IsVisibleChanged += ComboBoxIsVisibleChanged ;
60- }
61-
6262 private void ComboBoxSelectionChanged ( object sender , SelectionChangedEventArgs e )
6363 {
64- ContentChanged ? . Invoke ( sender , EventArgs . Empty ) ;
64+ _comboBox . Dispatcher . InvokeAsync ( ( ) => ContentChanged ? . Invoke ( sender , EventArgs . Empty ) ) ;
6565 }
6666
6767 private void ComboBoxIsVisibleChanged ( object sender , DependencyPropertyChangedEventArgs e )
0 commit comments