Compartilhar via


DataTemplateSelector Classe

Definição

Habilita a lógica de seleção de modelo personalizada 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 sobre modelos de dados, consulte a classe DataTemplate e Os contêineres e modelos de item.

A classe base DataTemplateSelector 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, referir-se a uma instância da classe personalizada, conforme definido em um bloco Resources em XAML. Isso possibilita fazer referência à classe de seletor de modelo personalizada por x:Key e usar essa referência para definir o valor de 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 as duas 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ê-la.

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 ou 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 por SelectTemplate.

RecycleElement(ElementFactoryRecycleArgs)

Recicla um objeto UIElement que foi criado usando GetElement.

SelectTemplate(Object)

Retorna um DataTemplate específico para um determinado item.

SelectTemplate(Object, DependencyObject)

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

SelectTemplateCore(Object)

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

SelectTemplateCore(Object, DependencyObject)

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

Aplica-se a

Confira também