Pour répondre un peu plus conceptuellement:
SelectedValuePath
définit quelle propriété (par son nom) des objets liés au ListBox ItemsSource
sera utilisé comme élémentSelectedValue
.
Par exemple, si votre ListBox est lié à une collection d' Person
objets, dont chacun a Name
, Age
et des Gender
propriétés, SelectedValuePath=Name
provoquera la valeur de la sélectionnée Person
de la Name
propriété à retourner dansSelectedValue
.
Notez que si vous remplacez le ControlTemplate de ListBox (ou appliquez un style) qui spécifie la propriété à afficher, SelectedValuePath
ne peut pas être utilisé.
SelectedItem
, quant à lui, renvoie l'intégralité de l' Person
objet actuellement sélectionné.
(Voici un autre exemple de MSDN , utilisant TreeView)
Mise à jour: Comme l'a souligné @Joe, la propriété DisplayMemberPath n'est pas liée aux propriétés Selected *. Sa description appropriée suit:
Notez que ces valeurs sont distinctes de DisplayMemberPath
(qui est définie sur ItemsControl, pas Selector), mais que la propriété a un comportement similaire à SelectedValuePath
: en l'absence d'un style / modèle, elle identifie la propriété de l'objet lié à l'élément qui doit être utilisée comme son représentation de chaîne.