Aby odpowiedzieć trochę bardziej koncepcyjnie:
SelectedValuePath
określa, która właściwość (po nazwie) obiektów powiązanych z ListBox ItemsSource
zostanie użyta jako pozycjaSelectedValue
.
Na przykład, jeśli Twój ListBox jest związany z kolekcji Person
obiektów, z których każdy ma Name
, Age
i Gender
właściwości SelectedValuePath=Name
spowoduje, że wartość wybranego Person
„s Name
własności zostać zwrócone wSelectedValue
.
Zauważ, że jeśli przesłonisz ControlTemplate ListBox (lub zastosujesz styl), który określa, jaka właściwość powinna być wyświetlana, SelectedValuePath
nie będzie można użyć.
SelectedItem
w międzyczasie zwraca całość Person
aktualnie wybrany obiekt.
(Oto kolejny przykład z MSDN przy użyciu TreeView)
Aktualizacja: Jak wskazał @Joe, właściwość DisplayMemberPath nie jest powiązana z właściwościami Selected *. Prawidłowy opis jest następujący:
Zauważ, że wartości te różnią się od DisplayMemberPath
(które są zdefiniowane w ItemsControl, nie w Selector), ale ta właściwość ma podobne zachowanie SelectedValuePath
: w przypadku braku stylu / szablonu określa, która właściwość obiektu powiązanego z elementem powinna być użyta jako jego reprezentacja ciągu.