DataTemplateSelector Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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. |