Para responder un poco más conceptualmente:
SelectedValuePath
define qué propiedad (por su nombre) de los objetos vinculados a ListBox ItemsSource
se utilizará como elemento SelectedValue
.
Por ejemplo, si el cuadro de lista se une a una colección de Person
objetos, cada uno de los cuales tiene Name
, Age
y Gender
propiedades, SelectedValuePath=Name
hará que el valor de los seleccionados Person
's Name
propiedad a ser devuelto en SelectedValue
.
Tenga en cuenta que si anula la ControlTemplate de ListBox (o aplica un Estilo) que especifica qué propiedad debe mostrarse, SelectedValuePath
no se puede utilizar.
SelectedItem
, mientras tanto, devuelve todo el Person
objeto actualmente seleccionado.
(Aquí hay otro ejemplo de MSDN , usando TreeView)
Actualización: como señaló @Joe, la propiedad DisplayMemberPath no está relacionada con las propiedades Seleccionadas *. Su descripción apropiada sigue:
Tenga en cuenta que estos valores son distintos de DisplayMemberPath
(que se define en ItemsControl, no Selector), pero esa propiedad tiene un comportamiento similar a SelectedValuePath
: en ausencia de un estilo / plantilla, identifica qué propiedad del objeto vinculado al elemento debe usarse como su Representación de cadena.