DataTemplateSelector 类

定义

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

public abstract class DataTemplateSelector : Xamarin.Forms.DataTemplate
type DataTemplateSelector = class
    inherit DataTemplate
继承
DataTemplateSelector

注解

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

以下示例演示了基本用法:
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()

使用默认值创建新 DataTemplateSelector

属性

Bindings

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

(继承自 DataTemplate)
Values

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

(继承自 DataTemplate)

方法

CreateContent()

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

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

开发人员替代此方法,为指定的 item 返回有效的数据模板。 此方法由 SelectTemplate(Object, BindableObject) 调用。

SelectTemplate(Object, BindableObject)

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

SetBinding(BindableProperty, BindingBase)

设置 property 的绑定。

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

设置 property 的值。

(继承自 DataTemplate)

显式接口实现

IDataTemplate.LoadTemplate

仅限内部使用。

(继承自 ElementTemplate)
IDataTemplateController.Id

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

(继承自 DataTemplate)
IDataTemplateController.IdString

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

(继承自 DataTemplate)

扩展方法

CreateContent(DataTemplate, Object, BindableObject)

供 Xamarin.Forms 平台内部使用。

SelectDataTemplate(DataTemplate, Object, BindableObject)

供 Xamarin.Forms 平台内部使用。

SetBinding(DataTemplate, BindableProperty, String)

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

适用于