DataTemplateSelector Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Включает настраиваемую логику выбора шаблонов на уровне приложения.
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DataTemplateSelector : IElementFactory
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class DataTemplateSelector : IElementFactory
Public Class DataTemplateSelector
Implements IElementFactory
See Remarks
- Наследование
- Атрибуты
- Реализации
Комментарии
Дополнительные сведения о шаблонах данных см. в разделах Класс DataTemplate и Контейнеры и шаблоны элементов.
Базовый класс DataTemplateSelector не используется в качестве объектного элемента в XAML. Однако это распространенный сценарий создания пользовательского dataTemplateSelector, сопоставления префикса xmlns для пользовательского класса и его пространства имен или сборки, а затем ссылки на экземпляр настраиваемого класса, как определено в блоке Resources в XAML. Это позволяет ссылаться на класс пользовательского селектора шаблонов по x:Key и использовать эту ссылку для задания значения свойств, таких как ItemTemplateSelector , в шаблонах XAML и визуальных состояниях.
Вызываемые методы DataTemplateSelector являются двумя перегрузками SelectTemplate . Переопределенными методами DataTemplateSelector являются две перегрузки SelectTemplateCore . Чтобы определить действующий подкласс DataTemplateSelector, предоставьте реализации для SelectTemplateCore(Object) и SelectTemplateCore(Object, DependencyObject). Все эти методы возвращают экземпляр DataTemplate , который обычно является определенным выбором, подходящим для входных данных метода, который был вызван для его получения.
Код приложения обычно не вызывает методы SelectTemplate ; методы существуют таким образом, что инфраструктура может вызывать их при выборе правильных шаблонов на основе экземпляра DataTemplateSelector из значения свойства , например ItemsControl.ItemsTemplateSelector.
Пример XAML, который ссылается на настраиваемый DataTemplateSelector в качестве значения HeaderTemplateSelector , и пример кода, в который показаны переопределения для методов HeaderTemplateSelector , см. в разделе Группирование элементов в списке или сетке.
Конструкторы
DataTemplateSelector() |
Инициализирует новый экземпляр класса DataTemplateSelector . |
Методы
GetElement(ElementFactoryGetArgs) |
Создает или извлекает существующий экземпляр объекта UIElement , объявленного в объекте DataTemplate , возвращенном SelectTemplate. |
RecycleElement(ElementFactoryRecycleArgs) |
Перезапускает объект UIElement , созданный с помощью GetElement. |
SelectTemplate(Object) |
Возвращает определенный объект DataTemplate для заданного элемента. |
SelectTemplate(Object, DependencyObject) |
Возвращает определенный объект DataTemplate для заданного элемента и контейнера. |
SelectTemplateCore(Object) |
При реализации в производном классе возвращает определенный объект DataTemplate для заданного элемента или контейнера. |
SelectTemplateCore(Object, DependencyObject) |
При реализации в производном классе возвращает определенный объект DataTemplate для заданного элемента или контейнера. |