Um etwas konzeptioneller zu antworten:
SelectedValuePath
Definiert, welche Eigenschaft (anhand ihres Namens) der an die ListBox gebundenen Objekte ItemsSource
als Objekt verwendet wird SelectedValue
.
Zum Beispiel wird , wenn Ihre List - Box auf eine Sammlung von gebundenen Person
Objekten, von denen jedem hat Name
, Age
und Gender
Eigenschaften, SelectedValuePath=Name
den Wert der ausgewählten verursachen Person
‚s - Name
Eigenschaft in zurückgegeben werden SelectedValue
.
Beachten Sie, dass das ControlTemplate der ListBox (oder das Anwenden eines Stils), das angibt, welche Eigenschaft angezeigt werden soll, SelectedValuePath
nicht verwendet werden kann , wenn Sie es überschreiben .
SelectedItem
In der Zwischenzeit wird das gesamte Person
aktuell ausgewählte Objekt zurückgegeben.
(Hier ist ein weiteres Beispiel von MSDN mit TreeView.)
Update: Wie @Joe hervorhob, hat die DisplayMemberPath-Eigenschaft keine Beziehung zu den Selected * -Eigenschaften. Die richtige Beschreibung folgt:
Beachten Sie, dass sich diese Werte von denen unterscheiden DisplayMemberPath
(die in ItemsControl und nicht in Selector definiert sind), diese Eigenschaft jedoch ein ähnliches Verhalten aufweist wie SelectedValuePath
: Wenn kein Stil / keine Vorlage vorhanden ist, gibt sie an, welche Eigenschaft des an das Element gebundenen Objekts als dessen verwendet werden soll Zeichenfolgendarstellung.