DataTemplateSelector 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
按数据类型和容器选择 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
- 继承
注解
应用程序开发人员重写 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) 并验证其结果,为 |
SetBinding(BindableProperty, BindingBase) |
设置 |
SetValue(BindableProperty, Object) |
设置 |
显式接口实现
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) |
将 |