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) |
将 |
适用于
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈