ListBox против ListView - как выбрать привязку данных

318

Я рассматриваю либо ListBox или ListView для приложения WPF. Кажется, либо поддерживает привязку данных и шаблоны элементов. В моем приложении есть простой список элементов, которые я собираюсь найти / отсортировать / отфильтровать на основе пользовательского ввода. Демонстрация привязки данных ( http://msdn.microsoft.com/en-us/library/ms771319.aspx ) использует ListBox с CollectionViewSource.

Есть ли у кого плюсы / минусы, какой контроль использовать и когда?

Джефф Кокс
источник

Ответы:

364

ListView - это специализированный ListBox (то есть он наследуется от ListBox). Это позволяет вам определять различные представления, а не прямой список. Вы можете либо свернуть свое собственное представление, либо использовать GridView (например, «просмотр сведений», похожий на проводник). Это в основном многостолбцовый список, двоюродный брат формы окна просмотра.

Если вам не нужны дополнительные возможности ListView, вы, безусловно, можете использовать ListBox, если вы просто показываете список элементов (даже если шаблон сложный).

Филип Рик
источник
4
Какая разница между этим и DataGrid? Если только ListViewвы не сможете динамически изменять представление (например, win-explorer - список, подробности, большие значки), я не понимаю, зачем его использовать ...
JobaDiniz