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

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)

Comentários

Para obter mais informações sobre modelos de dados, consulte a classe DataTemplate e Contêineres e modelos de item.

A classe base DataTemplateSelector não é usada como um elemento de objeto em XAML. No entanto, é um cenário comum derivar um DataTemplateSelector personalizado, mapear um xmlns prefixo 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 Resources em XAML. Isso possibilita fazer referência à classe de seletor de modelo personalizado por x:Keye usar essa referência para definir o valor de propriedades como ItemTemplateSelector em modelos XAML e estados visuais.

Os métodos chamáveis 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 opção 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.

Histórico de versão

Versão do Windows Versão do SDK Valor adicionado
1809 17763 GetElement
1809 17763 RecycleElement

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