DataTemplateSelector Clase

Definición

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

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DataTemplateSelector
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 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(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class DataTemplateSelector
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 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
Public Class DataTemplateSelector
Implements IElementFactory
See Remarks
Herencia
Object IInspectable DataTemplateSelector
Atributos
Implementaciones

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)

Comentarios

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

La clase DataTemplateSelector base no se usa como elemento object en XAML. Sin embargo, es un escenario común derivar un DataTemplateSelector personalizado, asignar un xmlns prefijo 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 en XAML. Esto permite hacer referencia a la clase de selector de plantillas personalizada por 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 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 los 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 de DataTemplateSelector de un valor de propiedad como ItemsControl.ItemsTemplateSelector.

Historial de versiones

Versión de Windows Versión del SDK Valor agregado
1809 17763 GetElement
1809 17763 RecycleElement

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 la clase DataTemplate devuelta por SelectTemplate.

RecycleElement(ElementFactoryRecycleArgs)

Recicla un objeto UIElement que se creó mediante GetElement.

SelectTemplate(Object)

Devuelve una clase DataTemplate específica para un elemento determinado.

SelectTemplate(Object, DependencyObject)

Devuelve una clase DataTemplate específica para un elemento y un contenedor determinados.

SelectTemplateCore(Object)

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

SelectTemplateCore(Object, DependencyObject)

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

Se aplica a

Consulte también