Чтобы ответить немного более концептуально:
SelectedValuePath
определяет, какое свойство (по его имени) объектов, связанных с ListBox, ItemsSource
будет использоваться в качестве элемента SelectedValue
.
Например, если ваш ListBox привязан к коллекции Person
объектов, каждый из которых имеет Name
, Age
и Gender
свойства, SelectedValuePath=Name
вызывает значение выбранного Person
«s Name
имущества , которое будет возвращено в SelectedValue
.
Обратите внимание, что если вы переопределите элемент управления ListBox ControlTemplate (или примените стиль), который указывает, какое свойство должно отображаться, SelectedValuePath
использовать нельзя.
SelectedItem
Между тем, возвращает весь Person
выбранный объект.
(Вот еще один пример из MSDN с использованием TreeView)
Обновление: как указал @Joe, свойство DisplayMemberPath не связано со свойствами Selected *. Его правильное описание следующее:
Обратите внимание, что эти значения отличаются от DisplayMemberPath
(которые определены в ItemsControl, а не в Selector), но это свойство имеет сходное поведение SelectedValuePath
: в отсутствие стиля / шаблона оно определяет, какое свойство объекта, связанного с элементом, следует использовать в качестве его строковое представление.