Compartilhar via


DataTemplateSelector Classe

Definição

Habilita a lógica de seleção de modelo personalizado no nível do aplicativo.

/// [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
Herança
Object IInspectable DataTemplateSelector
Atributos
Implementações

Comentários

Para obter mais informações e exemplos, consulte Seleção de modelo de dados. Para obter informações mais gerais sobre modelos de dados, consulte a classe DataTemplate e Contêineres e modelos de item.

A classe DataTemplateSelector base não é usada como um elemento de objeto no XAML. No entanto, é um cenário comum derivar um DataTemplateSelector personalizado, mapear um prefixo xmlns para a classe personalizada e seu namespace/assembly e, em seguida, fazer referência a uma instância da classe personalizada, conforme definido em um bloco recursos no XAML. Isso possibilita fazer referência à classe de seletor de modelo personalizado x:Key e usar essa referência para definir o valor das propriedades, como ItemTemplateSelector em modelos XAML e estados visuais.

Os métodos que podem ser chamados de DataTemplateSelector são as duas sobrecargas SelectTemplate . Os métodos substituíveis de DataTemplateSelector são os dois sobrecargas SelectTemplateCore. Para definir uma subclasse DataTemplateSelector eficaz, forneça implementações para SelectTemplateCore(Object) e SelectTemplateCore(Object, DependencyObject). Todos esses métodos retornam uma instância DataTemplate que normalmente é uma escolha específica apropriada para as entradas do método que foi chamado para obtê-lo.

O código do aplicativo normalmente não chama métodos selectTemplate; os métodos existem para que a infraestrutura possa chamá-la ao escolher os modelos corretos com base no uso de uma instância DataTemplateSelector de um valor de propriedade, como ItemsControl.ItemsTemplateSelector.

Por exemplo, XAML que faz referência a um DataTemplateSelector personalizado como o valor HeaderTemplateSelector e código de exemplo que mostra as substituições para métodos HeaderTemplateSelector , consulte Como agrupar itens em uma lista oude grade.

Construtores

DataTemplateSelector()

Inicializa uma nova instância da classe DataTemplateSelector .

Métodos

GetElement(ElementFactoryGetArgs)

Cria ou recupera uma instância existente do objeto UIElement declarado no DataTemplate retornado pelo SelectTemplate.

RecycleElement(ElementFactoryRecycleArgs)

Recicla um objeto UIElement que foi criado usando GetElement.

SelectTemplate(Object, DependencyObject)

Retorna um DataTemplate específico para um determinado item e contêiner.

SelectTemplate(Object)

Retorna um DataTemplate específico para um determinado item.

SelectTemplateCore(Object, DependencyObject)

Quando implementado por uma classe derivada, retorna um DataTemplate específico para um determinado item ou contêiner.

SelectTemplateCore(Object)

Quando implementado por uma classe derivada, retorna um DataTemplate específico para um determinado item ou contêiner.

Aplica-se a

Confira também