Per rispondere un po 'più concettualmente:
SelectedValuePath
definisce quale proprietà (con il suo nome) degli oggetti associati a ListBox ItemsSource
verrà utilizzata come elemento SelectedValue
.
Ad esempio, se il ListBox è associato a un insieme di Person
oggetti, ognuno dei quali ha Name
, Age
e Gender
le proprietà, SelectedValuePath=Name
farà sì che il valore della scelta Person
's Name
proprietà da restituire in SelectedValue
.
Notare che se si sostituisce ControlTemplate di ListBox (o si applica uno stile) che specifica quale proprietà deve essere visualizzata, SelectedValuePath
non può essere utilizzata.
SelectedItem
, nel frattempo, restituisce l'intero Person
oggetto attualmente selezionato.
(Ecco un ulteriore esempio da MSDN , usando TreeView)
Aggiornamento: come sottolineato da @Joe, la proprietà DisplayMemberPath non è correlata alle proprietà Selected *. Segue la descrizione corretta:
Si noti che questi valori sono distinti da DisplayMemberPath
(che è definito su ItemsControl, non Selector), ma quella proprietà ha un comportamento simile a SelectedValuePath
: in assenza di uno stile / modello, identifica quale proprietà dell'oggetto associato all'elemento dovrebbe essere usata come sua rappresentazione di stringhe.