DataTemplateSelector Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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:Key
e 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. |