Элемент управления ComboBox
наследуется от элемента управления ListControl
.
Свойство SelectedItem
является правильным элементом элемента управления ComboBox
. Событие, которое вызывается при изменении: ComboBox.SelectionChangeCommitted
ComboBox.SelectionChangeCommitted
Происходит, когда выбранный элемент изменился, и это изменение отображается в ComboBox.
Свойство SelectedValue
наследуется от элемента управления ListControl
.
Таким образом, это свойство будет запускать событие ListControl.SelectedValueChanged
.
ListControl.SelectedValueChanged
Происходит при изменении свойства SelectedValue.
Тем не менее, они не будут запускать событие INotifyPropertyChanged
. PropertyChanged
так же, но они все равно будут. Разница лишь в стрельбе. SelectedValueChanged
запускается, как только новый выбор сделан из части списка ComboBox, и SelectedItemChanged
запускается, когда элемент отображается в части TextBox ComboBox.
Короче говоря, они оба представляют что-то в части списка ComboBox. Таким образом, при связывании любого свойства результат будет одинаковым, поскольку событие PropertyChanged
вызывается в любом случае. И поскольку они оба представляют элемент из списка, к ним, вероятно, относятся одинаково.
Помогает ли это?
РЕДАКТИРОВАТЬ # 1
Предполагая, что часть списка ComboBox представляет свойство (как я не могу подтвердить, так как я не написал элемент управления), привязка либо SelectedItem
, либо SelectedValue
влияет на ту же коллекцию внутри элемента управления. Затем, когда это свойство изменяется, то же самое происходит в конце. Событие INotifyPropertryPropertyChanged.PropertyChanged
вызывается для того же свойства.