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
- Наследование
- Атрибуты
- Реализации
Требования к 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 для заданного элемента или контейнера. |