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í.
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
- Atributos
- Implementaciones
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 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 en XAML. Esto permite hacer referencia a la clase de selector de plantillas personalizada por x:Key y 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.
Por ejemplo, XAML que hace referencia a un DataTemplateSelector personalizado como valor HeaderTemplateSelector y código de ejemplo que muestra las invalidaciones para los 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 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. |