The correct value to check here is the SelectedItem property.
ComboBox is a composite control with two parts:
- Text part : the value in this part corresponds to the ComboBox Text property.
- Selector part (i.e., part of the drop-down list): the selected item in this part corresponds to the SelectedItem property.

The image above was taken immediately after the ComboBox was expanded (i.e. before selecting a new value). At the moment, both Text and SelectedItem are "Information", suggesting that the ComboBox elements were strings. If the ComboBox elements were in place of all Enum values called "LogLevel", the SelectedItem will now be LogLevel.Info .
When an item in the drop-down list is clicked, the Selected item value will be changed and the SelectionChanged event will be added. The Text property has not been updated yet, since the Text part is not updated until the SelectionChanged handler is completed. This can be observed by setting a breakpoint in the handler and looking at the control:

Since the Text part was not updated at this moment, the Text property returns the previously selected value.
Dave Kidder Jul 22 '15 at 21:43 2015-07-22 21:43
source share