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 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
- 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:Key
e 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. |