Untuk menjawab sedikit lebih konseptual:
SelectedValuePath
mendefinisikan properti mana (dengan namanya) dari objek yang terikat pada ListBox ItemsSource
akan digunakan sebagai item SelectedValue
.
Misalnya, jika ListBox Anda terikat untuk koleksi Person
benda-benda, masing-masing memiliki Name
, Age
, dan Gender
properti, SelectedValuePath=Name
akan menyebabkan nilai yang dipilih Person
's Name
properti akan dikembalikan SelectedValue
.
Perhatikan bahwa jika Anda mengganti ControlTemplate ListBox (atau menerapkan Style) yang menentukan properti apa yang harus ditampilkan, SelectedValuePath
tidak dapat digunakan.
SelectedItem
, sementara itu, mengembalikan seluruh Person
objek yang saat ini dipilih.
(Berikut contoh lebih lanjut dari MSDN , menggunakan TreeView)
Pembaruan: Seperti yang ditunjukkan @ Jo, properti DisplayMemberPath tidak terkait dengan properti * yang Dipilih. Deskripsi yang tepat berikut:
Perhatikan bahwa nilai-nilai ini berbeda dari DisplayMemberPath
(yang didefinisikan pada ItemsControl, bukan Selector), tetapi properti itu memiliki perilaku yang mirip dengan SelectedValuePath
: dengan tidak adanya gaya / templat, ini mengidentifikasi properti objek yang terikat pada item yang harus digunakan sebagai properti representasi string.