Какой шаблон WPF использовать?

Я хотел бы создать ListView для повторного использования со строками любого или всех из:

Ярлыки + текстовые поля или Ярлыки + комбинированные списки или ярлыки + DatePickers

используя шаблоны. Я до сих пор не очень хорошо понимаю шаблоны и хотел бы знать, какой из них - ControlTemplate, DataTemplate, ItemsTemplate или ContentTemplate - использовать для этого и как. Спасибо!

1 ответ

Решение

Есть 2 разных типа шаблонов: DataTemplate а также ControlTemplate, ControlTemplate используется на Template свойство классов, полученных из Control и определяет визуальное дерево для определенного типа управления.

Практически в любом другом месте, где появляются шаблоны DataTemplate, Это включает ContentTemplate а также ItemTemplate свойства. DataTemplates определить визуальное дерево для любого невизуального типа данных. Когда шаблон отображается DataContext является ли объект данных визуализируемым (т.е. List<T> пункт) облегчение привязки свойств данных.

Чтобы смешать шаблоны для разных типов в одном списке, вы можете использовать DataTemplateSelector который позволяет вам написать код для выбора шаблона для каждого элемента. Другой вариант - создать несколько неявных шаблонов (DataType но нет x:Key) для различных типов CLR объектов в списке. Пока эти шаблоны находятся в области ресурсов элемента управления, отображающего коллекцию, типы будут автоматически разрешать свои шаблоны.

Другие вопросы по тегам