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 自定义类及其命名空间/程序集的前缀,然后引用 XAML 中资源 块中定义的自定义类的实例。 这样就可以通过 x:Key引用自定义模板选择器类,并使用该引用设置 XAML 模板和视觉状态中的 ItemTemplateSelector 等属性的值。

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

应用代码通常不调用 SelectTemplate 方法;方法存在,以便基础结构可以调用它,同时根据使用属性值(如 ItemsControl.ItemsTemplateSelector)的 DataTemplateSelector 实例选择正确的模板。

版本历史记录

Windows 版本 SDK 版本 已添加值
1809 17763 GetElement
1809 17763 RecycleElement

构造函数

DataTemplateSelector()

初始化 DataTemplateSelector 类的新实例。

方法

GetElement(ElementFactoryGetArgs)

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

RecycleElement(ElementFactoryRecycleArgs)

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

SelectTemplate(Object)

返回给定项的特定 DataTemplate

SelectTemplate(Object, DependencyObject)

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

SelectTemplateCore(Object)

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

SelectTemplateCore(Object, DependencyObject)

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

适用于

另请参阅