DataTemplateSelector Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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.:
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. |