Поделиться через


DataTemplateSelector Класс

Определение

Включает настраиваемую логику выбора шаблонов на уровне приложения.

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DataTemplateSelector
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 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(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class DataTemplateSelector
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 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
Public Class DataTemplateSelector
Implements IElementFactory
See Remarks
Наследование
Object IInspectable DataTemplateSelector
Атрибуты
Реализации

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Комментарии

Дополнительные сведения о шаблонах данных см. в разделах Класс 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.

Журнал версий

Версия Windows Версия пакета SDK Добавленная стоимость
1809 17763 GetElement
1809 17763 RecycleElement

Конструкторы

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 для заданного элемента или контейнера.

Применяется к

См. также раздел