Ich denke, wir können dies anhand eines Beispiels besser verstehen. Siehe diese Klasse:
public class Employee
{
public int Id { get; set; }
public string Name { get; set; }
}
und das folgende xaml:
<ComboBox ItemsSource="{Binding Source={StaticResource Employees}}"
DisplayMemberPath="Name"
SelectedValuePath="Id"/>
DisplayMemberPath
zeigt auf die Name
Eigenschaft, sodass der in der Dropdown-Liste angezeigte Wert ComboBox
und die Employee
in der Dropdown-Liste enthaltenen Einträge die Name
Eigenschaft des Employee
Objekts sind.
Um die anderen beiden zu verstehen, sollten Sie zuerst verstehen SelectedItem
. SelectedItem
gibt das aktuell ausgewählte Employee
Objekt aus dem zurück ComboBox
. Sie können auch SelectedItem
ein Employee
Objekt zuweisen , um die aktuelle Auswahl in der ComboBox
.
SelectedValuePath
zeigt auf Id
, was bedeutet, dass Sie die Id
aktuell ausgewählte Employee
mit abrufen können SelectedValue
. Sie können auch die aktuell ausgewählte Employee
in der ComboBox
durch die Einstellung SelectedValue
auf eine Id
( von der wir annehmen wird in der vorliegen Employees
Liste).
Id
undName
haben Eigenschaften sein, nicht Klassenfelder.for me
das ist besser, prägnanter und leichter zu verstehen als diese Antwort . Ich sagte,for me
da wir alle unterschiedliche Arten haben, Dinge zu verstehen. Vielleicht ist die andere Antwort für einige andere Leser besser zu verstehen.