В настоящее время у меня есть UserControl, который отображает коллекции данных в том же макете. Таким образом, один элемент управления может быть создан с коллекцией ObjectA, а другой - ObjectB. Затем я использую TemplateSelectors, чтобы выбрать правильные шаблоны данных.
Позже мы подумали, что установим List в качестве GridView, чтобы отображать больше информации в самом списке. Однако каждый тип объекта имеет разные свойства, и столбцы могут иметь разные имена и не одинаковое количество. Тогда я понял, что столбцы и тому подобное, где они установлены не в ItemTemplate, а в самом GridView и ListView, разумеется, не имеют шаблона templateSelector для себя.
Я не был уверен, как это сделать, но на ум пришло несколько способов.
1) Есть какое-то свойство TemplateSelector, о котором я не знаю.
2) Я МОГУ установить его как-то на ItemTemplateSelector, только не знаю как.
3) Я мог бы динамически создавать GridView (это может быть сложно и не нужно избегать).
Какой-нибудь хороший способ сделать это, учебные пособия или аналогичные, которые я мог бы использовать?
EDIT:
Поскольку я узнал немного больше о ListView и его свойствах представления, я почти уверен, что смогу определить gridview в staticResource. Тем не менее, я бы хотел ViewSelector или что-то подобное. Я предполагаю, что это, конечно, не предназначалось, поскольку элемент мог быть динамическим, в то время как Коллекция не.
Но я думаю о случаях, когда может существовать больше типов представлений, чем gridview (iconview или что-то еще), и пользователь может переключаться между ними, это должно быть реализовано каким-то образом.
Решение, которое я знаю, состоит в том, чтобы использовать триггер и основывать его на первом элементе в коллекции, но мне это не очень нравится.