DataTemplateSelector 类

定义

按数据类型和容器选择 DataTemplate 对象。

public ref class DataTemplateSelector abstract : Microsoft::Maui::Controls::DataTemplate
public abstract class DataTemplateSelector : Microsoft.Maui.Controls.DataTemplate
type DataTemplateSelector = class
    inherit DataTemplate
Public MustInherit Class DataTemplateSelector
Inherits DataTemplate
继承
DataTemplateSelector

注解

应用程序开发人员重写该方法 OnSelectTemplate(Object, BindableObject) 以返回数据类型和父容器组合的唯 DataTemplate 一方法。 此外,由于必须针对连续调用 SelectTemplate(Object, BindableObject)的给定数据片段返回相同的确切模板实例,因此开发人员应创建这些 DataTemplate 实例并将其存储在构造函数重写中。

开发人员应注意以下项:

  • OnSelectTemplate 不得返回另一个 DataTemplateSelector,并且
  • Android 平台限制为每个列表视图 20 个模板。
以下示例演示了基本用法:
class MyDataTemplateSelector : DataTemplateSelector
{
    public MyDataTemplateSelector ()
    {
        // Retain instances
        this.templateOne = new DataTemplate (typeof (ViewA));
        this.templateTwo = new DataTemplate (typeof (ViewB));
    }

    protected override DataTemplate OnSelectTemplate (object item, BindableObject container)
    {
        if (item is double)
            return this.templateOne;
        return this.templateTwo;
    }

    private readonly DataTemplate templateOne;
    private readonly DataTemplate templateTwo;
}

构造函数

DataTemplateSelector()

按数据类型和容器选择 DataTemplate 对象。

属性

Bindings

获取由绑定属性索引的绑定字典。

(继承自 DataTemplate)
LoadTemplate

按数据类型和容器选择 DataTemplate 对象。

(继承自 ElementTemplate)
Values

返回按属性索引的 DataTemplate 的属性值字典。

(继承自 DataTemplate)

方法

CreateContent()

由 XAML 基础结构用于加载数据模板和设置生成 UI 的内容。

(继承自 ElementTemplate)
OnSelectTemplate(Object, BindableObject)

按数据类型和容器选择 DataTemplate 对象。

SelectTemplate(Object, BindableObject)

通过调用 OnSelectTemplate(Object, BindableObject) 并验证其结果,为 item 返回 DataTemplate

SetBinding(BindableProperty, BindingBase)

设置 property 的绑定。

(继承自 DataTemplate)
SetValue(BindableProperty, Object)

设置 property 的值。

(继承自 DataTemplate)

显式接口实现

IDataTemplateController.Id

按数据类型和容器选择 DataTemplate 对象。

(继承自 DataTemplate)
IDataTemplateController.IdString

按数据类型和容器选择 DataTemplate 对象。

(继承自 DataTemplate)

扩展方法

CreateContent(DataTemplate, Object, BindableObject)

供 Microsoft.Maui.Controls 平台内部使用。

SelectDataTemplate(DataTemplate, Object, BindableObject)

供 Microsoft.Maui.Controls 平台内部使用。

SetBinding(DataTemplate, BindableProperty, String)

self 对象的 targetProperty 绑定到使用 path 创建的新 Binding 实例。

适用于