DataTemplateSelector Clase

Definición

Selecciona objetos DataTemplate por tipo de datos y contenedor.Selects DataTemplate objects by data type and container.

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

Comentarios

Invalidación los desarrolladores de aplicaciones el OnSelectTemplate(Object, BindableObject) método devuelva un único DataTemplate para una combinación de contenedores primarios y el tipo de datos.Application developers override the OnSelectTemplate(Object, BindableObject) method to return a unique DataTemplate for a data type and parent container combination. Además, dado que el mismo exacta la instancia de plantilla debe devolverse para una parte determinada de datos entre las llamadas sucesivas a SelectTemplate(Object, BindableObject), los desarrolladores deben crear y almacenar estos DataTemplate en su constructor reemplaza.Additionally, because the same exact template instance must be returned for a given piece of data across successive calls to SelectTemplate(Object, BindableObject), developers should create and store these DataTemplate in their constructor overrides.

Los desarrolladores deben tener en cuenta los siguientes elementos:Developers should note the following items:
  • OnSelectTemplate no debe devolver otro DataTemplateSelector, yOnSelectTemplate must not return another DataTemplateSelector, and
  • La plataforma Android se limita a 20 plantillas por la vista de lista.The Android platform is limited to 20 templates per list view.
El ejemplo siguiente muestra un uso básico:The following example shows a basic use:
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

DataTemplateSelector()

Crea un DataTemplateSelector con valores predeterminados.Creates a new DataTemplateSelector with default values.

Propiedades

Bindings

Obtiene un diccionario de enlaces, indizados por las propiedades enlazadas.Gets a dictionary of bindings, indexed by the bound properties.

(Heredado de DataTemplate)
Values

Devuelve un diccionario de valores de propiedad para este DataTemplate, indizado por propiedad.Returns a dictionary of property values for this DataTemplate, indexed by property.

(Heredado de DataTemplate)

Métodos

CreateContent()

Usada por la infraestructura XAML para cargar las plantillas de datos y configurar el contenido de la interfaz de usuario resultante.Used by the XAML infrastructure to load data templates and set up the content of the resulting UI.

(Heredado de ElementTemplate)
OnSelectTemplate(Object, BindableObject)

El desarrollador invalida este método para devolver una plantilla de datos válida para el item especificado.The developer overrides this method to return a valid data template for the specified item. SelectTemplate(Object, BindableObject) llama a este método.This method is called by SelectTemplate(Object, BindableObject).

SelectTemplate(Object, BindableObject)

Devuelve un DataTemplate para item mediante una llamada a OnSelectTemplate(Object, BindableObject) y la comprobación de su resultado.Returns a DataTemplate for item by calling OnSelectTemplate(Object, BindableObject) and verifying its result.

SetBinding(BindableProperty, BindingBase)

Establece el enlace de property.Sets the binding for property.

(Heredado de DataTemplate)
SetValue(BindableProperty, Object)

Establece el valor de property.Sets the value of property.

(Heredado de DataTemplate)

Implementaciones de interfaz explícitas

IDataTemplate.LoadTemplate

Sólo para uso interno.For internal use only.

(Heredado de ElementTemplate)
IDataTemplateController.Id (Heredado de DataTemplate)
IDataTemplateController.IdString (Heredado de DataTemplate)

Métodos de extensión

CreateContent(DataTemplate, Object, BindableObject)

For internal use by the Xamarin.Forms platform.

SelectDataTemplate(DataTemplate, Object, BindableObject)

For internal use by the Xamarin.Forms platform.

SetBinding(DataTemplate, BindableProperty, String)

Enlaza la targetProperty del objeto self a una nueva instancia de Binding que se creó con path.Binds the self object's targetProperty to a new Binding instance that was created with path.

Se aplica a