Compartir a través de


DataTemplateSelector Clase

Definición

Selecciona un DataTemplate basado en el objeto de datos y el contenedor. Invalide OnSelectTemplate(Object, BindableObject) para implementar la lógica de selección.

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
Herencia
DataTemplateSelector

Comentarios

Los desarrolladores de aplicaciones invalidan el OnSelectTemplate(Object, BindableObject) método para devolver un único DataTemplate para un tipo de datos y una combinación de contenedor principal. Además, dado que se debe devolver la misma instancia exacta de plantilla para un determinado fragmento de datos en llamadas sucesivas a SelectTemplate(Object, BindableObject), los desarrolladores deben crearlos y almacenarlos DataTemplate en sus invalidaciones de constructor.

Los desarrolladores deben tener en cuenta los siguientes elementos:

  • OnSelectTemplate no debe devolver otro DataTemplateSelector y :
  • La plataforma Android está limitada a 20 plantillas por vista de lista.:
En el ejemplo siguiente se muestra un uso básico:
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;
}

Constructores

Nombre Description
DataTemplateSelector()

Selecciona un DataTemplate basado en el objeto de datos y el contenedor. Invalide OnSelectTemplate(Object, BindableObject) para implementar la lógica de selección.

Propiedades

Nombre Description
Bindings

Obtiene el diccionario de enlaces que se aplicarán a los elementos con plantilla.

(Heredado de DataTemplate)
LoadTemplate

Selecciona un DataTemplate basado en el objeto de datos y el contenedor. Invalide OnSelectTemplate(Object, BindableObject) para implementar la lógica de selección.

(Heredado de ElementTemplate)
Values

Obtiene el diccionario de valores de propiedad que se van a aplicar a los elementos con plantilla.

(Heredado de DataTemplate)

Métodos

Nombre Description
CreateContent()

Usado por la infraestructura XAML para cargar plantillas de datos y configurar el contenido de la interfaz de usuario resultante.

(Heredado de ElementTemplate)
OnSelectTemplate(Object, BindableObject)

Selecciona un DataTemplate basado en el objeto de datos y el contenedor. Invalide OnSelectTemplate(Object, BindableObject) para implementar la lógica de selección.

SelectTemplate(Object, BindableObject)

Devuelve un DataTemplate para el elemento y el contenedor especificados.

SetBinding(BindableProperty, BindingBase)

Establece un enlace para una propiedad en elementos con plantilla.

(Heredado de DataTemplate)
SetValue(BindableProperty, Object)

Establece un valor estático para una propiedad en elementos con plantilla.

(Heredado de DataTemplate)

Implementaciones de interfaz explícitas

Nombre Description
IDataTemplateController.Id

Selecciona un DataTemplate basado en el objeto de datos y el contenedor. Invalide OnSelectTemplate(Object, BindableObject) para implementar la lógica de selección.

(Heredado de DataTemplate)
IDataTemplateController.IdString

Selecciona un DataTemplate basado en el objeto de datos y el contenedor. Invalide OnSelectTemplate(Object, BindableObject) para implementar la lógica de selección.

(Heredado de DataTemplate)

Métodos de extensión

Nombre Description
CreateContent(DataTemplate, Object, BindableObject)

Selecciona la plantilla adecuada y crea su contenido para el elemento especificado.

SelectDataTemplate(DataTemplate, Object, BindableObject)

Devuelve la plantilla adecuada, invocando la lógica del selector si la plantilla es .DataTemplateSelector

SetBinding(DataTemplate, BindableProperty, String)

Crea un enlace en la plantilla para la propiedad y la ruta de acceso especificadas.

Se aplica a