Compartir a través de


DataTemplateSelector Clase

Definición

Habilita la lógica de selección de plantillas personalizada en el nivel de aplicación.

/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DataTemplateSelector : IElementFactory
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class DataTemplateSelector : IElementFactory
Public Class DataTemplateSelector
Implements IElementFactory
See Remarks
Herencia
Object IInspectable DataTemplateSelector
Atributos
Implementaciones

Comentarios

Para obtener más información y ejemplos, consulte Selección de plantillas de datos. Para obtener más información general sobre las plantillas de datos, consulte la clase de DataTemplate y contenedores y plantillas de elementos.

La clase DataTemplateSelector base no se usa como elemento de objeto en XAML. Sin embargo, es un escenario común derivar un DataTemplateSelector personalizado, asignar un prefijo xmlns para la clase personalizada y su espacio de nombres o ensamblado y, a continuación, hacer referencia a una instancia de la clase personalizada tal como se define en un bloque Resources de en XAML. Esto permite hacer referencia a la clase de selector de plantillas personalizada x:Keyy usar esa referencia para establecer el valor de propiedades como ItemTemplateSelector en plantillas XAML y estados visuales.

Los métodos invocables de DataTemplateSelector son las dos sobrecargas SelectTemplate. Los métodos reemplazables de DataTemplateSelector son las dos sobrecargas de SelectTemplateCore. Para definir una subclase DataTemplateSelector eficaz, proporcione implementaciones para SelectTemplateCore(Object) y SelectTemplateCore(Object, DependencyObject). Todos estos métodos devuelven una instancia de DataTemplate que suele ser una opción específica adecuada para las entradas del método al que se llamó para obtenerla.

Normalmente, el código de la aplicación no llama a métodos selectTemplate; Los métodos existen para que la infraestructura pueda llamarla al elegir las plantillas correctas basadas en el uso de una instancia dataTemplateSelector de un valor de propiedad como ItemsControl.ItemsTemplateSelector.

Por ejemplo, XAML que hace referencia a un DataTemplateSelector personalizado como el headerTemplateSelector valor y código de ejemplo que muestra las invalidaciones para métodos headerTemplateSelector, consulta Cómo agrupar elementos en una lista o cuadrícula.

Constructores

DataTemplateSelector()

Inicializa una nueva instancia de la clase DataTemplateSelector.

Métodos

GetElement(ElementFactoryGetArgs)

Crea o recupera una instancia existente del objeto UIElement declarado en el DataTemplate devuelto por SelectTemplate.

RecycleElement(ElementFactoryRecycleArgs)

Recicla un objeto uiElement de creado mediante GetElement.

SelectTemplate(Object, DependencyObject)

Devuelve un DataTemplate específico para un elemento y un contenedor determinados.

SelectTemplate(Object)

Devuelve un DataTemplate específico para un elemento determinado.

SelectTemplateCore(Object, DependencyObject)

Cuando se implementa mediante una clase derivada, devuelve un de DataTemplate específico para un elemento o contenedor determinado.

SelectTemplateCore(Object)

Cuando se implementa mediante una clase derivada, devuelve un de DataTemplate específico para un elemento o contenedor determinado.

Se aplica a

Consulte también