该
ComboBox控件继承自该
ListControl控件。
该
SelectedItem属性是
ComboBox控件的适当成员。更改触发的事件是
ComboBox.SelectionChangeCommitted
ComboBox.SelectionChangeCommitted
当所选项目已更改并且在ComboBox中显示该更改时发生。
该
SelectedValue属性是从
ListControl控件继承的。因此,此属性将触发
ListControl.SelectedValueChanged事件。
ListControl.SelectedValueChanged
在SelectedValue属性更改时发生。
也就是说,他们不会解雇
INotifyPropertyChanged。
PropertyChanged事件相同,但无论如何都会如此。唯一的区别是触发事件。
SelectedValueChanged从组合框的列表部分中做出新选择后立即触发,并在组合框
SelectedItemChanged的文本框部分中显示该项目时触发。
简而言之,它们都代表了ComboBox列表部分中的某些内容。因此,绑定任何一个属性时,结果都是相同的,因为
PropertyChanged无论哪种情况都会触发该事件。并且由于它们都代表列表中的一个元素,因此它们可能会被视为相同。
这有帮助吗?
编辑#1
假设ComboBox的列表部分代表一个属性(由于我没有编写控件,所以我无法确认),绑定
SelectedItem或
SelectedValue影响控件内的同一集合。然后,当更改此属性时,最后也会发生相同的情况。该
INotifyPropertryPropertyChanged.PropertyChanged事件在同一媒体资源上触发。



