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
继承
Object IInspectable DataTemplateSelector
属性
实现

注解

有关详细信息和示例,请参阅 数据模板选择。 有关数据模板的更常规信息,请参阅 DataTemplate 类和 项容器和模板

基本 DataTemplateSelector 类不用作 XAML 中的对象元素。 但是,派生自定义 DataTemplateSelector 是一种常见方案,映射自定义类及其命名空间/程序集的 xmlns 前缀,然后引用在 XAML 中 Resources 块中定义的自定义类实例。 这使得可以通过 x:Key来引用自定义模板选择器类,并使用该引用来设置 XAML 模板和视觉状态中的属性值,例如 ItemTemplateSelector

DataTemplateSelector 的可调用方法是两个 SelectTemplate 重载。 DataTemplateSelector 的可重写方法是两个 SelectTemplateCore 重载。 若要定义有效的 DataTemplateSelector 子类,请为 SelectTemplateCore(Object)SelectTemplateCore(Object, DependencyObject)提供实现。 所有这些方法都返回一个 DataTemplate 实例,该实例通常是一个适用于调用以获取它的方法输入的特定选择。

应用代码通常不调用 selectTemplate 方法 ;方法存在,因此基础结构可以在从属性值(如 ItemsControl.ItemsTemplateSelector)中选择正确的模板时调用它。

例如,引用自定义 DataTemplateSelector 作为 HeaderTemplateSelector 值的示例代码,以及显示 HeaderTemplateSelector 方法的替代的示例代码,请参阅 如何将列表或网格中的项分组。

构造函数

DataTemplateSelector()

初始化 DataTemplateSelector 类的新实例。

方法

GetElement(ElementFactoryGetArgs)

创建或检索在 selectTemplate返回的 DataTemplate 中声明的 UIElement 对象的现有实例。

RecycleElement(ElementFactoryRecycleArgs)

回收使用 GetElement创建的 UIElement 对象。

SelectTemplate(Object, DependencyObject)

返回给定项和容器的特定 DataTemplate

SelectTemplate(Object)

返回给定项的特定 DataTemplate

SelectTemplateCore(Object, DependencyObject)

由派生类实现时,返回给定项或容器的特定 DataTemplate

SelectTemplateCore(Object)

由派生类实现时,返回给定项或容器的特定 DataTemplate

适用于

另请参阅