Мне кажется, что существующих ответов немного не хватает, обычно никто не будет обрабатывать коллекции или сводить их элементы к строке, в лучшем случае вы будете выполнять некоторые динамические манипуляции, используя CollectionView
(например, сортировка, группировка), но обычно вы используете Шаблон данных для отображения отдельных элементов, что позволяет использовать все их свойства.
Далее есть несколько элементов управлениякоторые хорошо работают с коллекциями, во-первых, вам нужно знать, если вы хотите, чтобы выбор, если не ItemsControl
является хорошим выбором, в противном случае вы должны использовать ListBox
или ListView
.
ListViews обычно используются, если у вас есть разные представления для ваших объектов, например, просмотр сведений и просмотр миниатюр.Для этого вы можете использовать ListView.View
, в каркасе существует одно существующее представление, GridView
, которое предлагает столбцы.Мэттью Феррейра предложил именно то, что вы не должны делать с ListView, так как вы хотите сделать шаблоны зависимыми от текущего представления, фактически код не компилируется, поскольку DataTemplate
может иметь только одного дочернего элемента.
Предполагается, что ListViews инкапсулируют логику представления в их представлении, чтобы его можно было изменить по желанию.Если вы решите использовать ItemsControl
или ListBox
, то настройку ItemTemplate
- это то, что вы хотите сделать.Прочитайте обзор шаблонов данных, на который я ссылался, это хорошая отправная точка.