Condividi tramite


DataTemplateSelector Classe

Definizione

Abilita la logica di selezione del modello personalizzata a livello di applicazione.

/// [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
Ereditarietà
Object IInspectable DataTemplateSelector
Attributi
Implementazioni

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Commenti

Per altre informazioni sui modelli di dati, vedere la classe DataTemplate e i contenitori e i modelli item.

La classe DataTemplateSelector di base non viene usata come elemento oggetto in XAML. Tuttavia, è uno scenario comune per derivare un DataTemplateSelector personalizzato, eseguire il mapping di un xmlns prefisso per la classe personalizzata e il relativo spazio dei nomi/assembly e quindi fare riferimento a un'istanza della classe personalizzata come definita in un blocco Resources in XAML. In questo modo è possibile fare riferimento alla classe di selettore di modelli personalizzata per x:Keye usare tale riferimento per impostare il valore delle proprietà, ad esempio ItemTemplateSelector nei modelli e negli stati visivi XAML.

I metodi chiamabili di DataTemplateSelector sono i due overload SelectTemplate . I metodi overridabili di DataTemplateSelector sono i due overload SelectTemplateCore . Per definire una sottoclasse DataTemplateSelector efficace, fornire implementazioni per SelectTemplateCore(Object) e SelectTemplateCore(Object, DependencyObject). Tutti questi metodi restituiscono un'istanza di DataTemplate che in genere è una scelta specifica appropriata per gli input del metodo che è stato chiamato per ottenerlo.

Il codice dell'app in genere non chiama i metodi SelectTemplate ; I metodi esistono in modo che l'infrastruttura possa chiamarla durante la scelta dei modelli corretti in base all'uso di un'istanza di DataTemplateSelector da un valore di proprietà, ad esempio ItemsControl.ItemsTemplateSelector.

Cronologia delle versioni

Versione di Windows Versione dell'SDK Valore aggiunto
1809 17763 GetElement
1809 17763 RecycleElement

Costruttori

DataTemplateSelector()

Inizializza una nuova istanza della classe DataTemplateSelector .

Metodi

GetElement(ElementFactoryGetArgs)

Crea o recupera un'istanza esistente dell'oggetto UIElement dichiarato nel DataTemplate restituito da SelectTemplate.

RecycleElement(ElementFactoryRecycleArgs)

Ricicla un oggetto UIElement creato usando GetElement.

SelectTemplate(Object)

Restituisce un oggetto DataTemplate specifico per un determinato elemento.

SelectTemplate(Object, DependencyObject)

Restituisce un oggetto DataTemplate specifico per un determinato elemento e contenitore.

SelectTemplateCore(Object)

Quando implementato da una classe derivata, restituisce un datatemplate specifico per un determinato elemento o contenitore.

SelectTemplateCore(Object, DependencyObject)

Quando implementato da una classe derivata, restituisce un datatemplate specifico per un determinato elemento o contenitore.

Si applica a

Vedi anche