ListBox vs. ListView - cara memilih untuk pengikatan data

318

Saya sedang mempertimbangkan ListBox atau ListView untuk aplikasi WPF. Sepertinya mendukung data binding dan templat item. Aplikasi saya memiliki daftar item sederhana yang ingin saya cari / urutkan / filter berdasarkan input pengguna. Demo pengikat data ( http://msdn.microsoft.com/en-us/library/ms771319.aspx ) menggunakan ListBox dengan CollectionViewSource.

Apakah ada yang punya pro / kontra untuk kontrol yang digunakan dan kapan?

Geoff Cox
sumber

Jawaban:

364

ListView adalah ListBox khusus (yaitu mewarisi dari ListBox). Ini memungkinkan Anda untuk menentukan tampilan yang berbeda daripada daftar langsung. Anda dapat memutar tampilan Anda sendiri, atau menggunakan GridView (pikirkan "tampilan detail" seperti explorer). Ini pada dasarnya kotak daftar multi-kolom, sepupu dari listview bentuk windows.

Jika Anda tidak memerlukan kemampuan tambahan dari ListView, Anda tentu dapat menggunakan ListBox jika Anda hanya menampilkan daftar item (Bahkan jika templatnya kompleks).

Philip Rieck
sumber
4
Apa bedanya itu DataGrid? Kecuali jika ListViewAnda dapat mengubah tampilan secara dinamis (seperti win-explorer - daftar, detail, ikon besar), saya tidak mengerti mengapa menggunakannya ...
JobaDiniz