DataTemplateSelector Classe

Definizione

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

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

Commenti

Per altre informazioni sui modelli di dati, vedi La classe DataTemplate e i contenitori e i modelli item.

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

I metodi chiamabili di DataTemplateSelector sono i due overload SelectTemplate . I metodi sottoponibili a override 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 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.

Ad esempio, XAML che fa riferimento a un Oggetto DataTemplateSelector personalizzato come valore headerTemplateSelector e codice di esempio che mostra gli override per i metodi HeaderTemplateSelector , vedi Come raggruppare gli elementi in un elenco o in una griglia.

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)

Se implementato da una classe derivata, restituisce un DataTemplate specifico per un determinato elemento o contenitore.

SelectTemplateCore(Object, DependencyObject)

Se implementato da una classe derivata, restituisce un DataTemplate specifico per un determinato elemento o contenitore.

Si applica a

Vedi anche