Pour répondre un peu plus sur le plan conceptuel:
SelectedValuePath
définit la propriété (par son nom) des objets liés à la zone de liste de l' ItemsSource
sera utilisé comme élément de l' SelectedValue
.
Par exemple, si votre ListBox est lié à une collection d' Person
objets, chacun de qui a Name
, Age
, et Gender
propriétés, SelectedValuePath=Name
sera la cause de la valeur de l'sélectionnée Person
s' Name
propriété d'être renvoyé en SelectedValue
.
Notez que si vous remplacez la ListBox est ControlTemplate (ou appliquer un Style) qui spécifie quelle propriété doit afficher, SelectedValuePath
ne peut pas être utilisé.
SelectedItem
, quant à lui, retourne l'ensemble de la Person
de l'objet actuellement sélectionné.
(Voici un exemple à partir de MSDN, à l'aide de l'Arborescence)
Mise à jour: @Joe l'a souligné, la DisplayMemberPath propriété n'est pas liée à l'Sélectionnés* propriétés. Sa bonne description suivante:
Notez que ces valeurs sont distinctes DisplayMemberPath
(qui est défini sur ItemsControl, pas de Sélecteur), mais que la propriété a un comportement similaire à l' SelectedValuePath
: en l'absence d'un style/modèle, il identifie les propriétés de l'objet lié à l'élément doit être utilisée comme une représentation de chaîne.