Какой шаблон 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 объектов в списке. Пока эти шаблоны находятся в области ресурсов элемента управления, отображающего коллекцию, типы будут автоматически разрешать свои шаблоны.