Freigeben über


DataTemplateSelector Klasse

Definition

Aktiviert benutzerdefinierte Vorlagenauswahllogik auf Anwendungsebene.

/// [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
Vererbung
Object IInspectable DataTemplateSelector
Attribute
Implementiert

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Hinweise

Weitere Informationen zu Datenvorlagen finden Sie unter DataTemplate-Klasse und Item-Container und -Vorlagen.

Die DataTemplateSelector-Basisklasse wird nicht als Objektelement in XAML verwendet. Es ist jedoch ein häufiges Szenario, einen benutzerdefinierten DataTemplateSelector abzuleiten, ein xmlns Präfix für die benutzerdefinierte Klasse und deren Namespace/Assembly zuzuordnen und dann auf eine instance der benutzerdefinierten Klasse zu verweisen, wie in einem Resources-Block in XAML definiert. Dies ermöglicht es, auf die benutzerdefinierte Vorlagenselektorklasse nach x:Keyzu verweisen und diesen Verweis zu verwenden, um den Wert von Eigenschaften wie ItemTemplateSelector in XAML-Vorlagen und visuellen Zuständen festzulegen.

Die aufrufbaren Methoden von DataTemplateSelector sind die beiden SelectTemplate-Überladungen . Die überschreibbaren Methoden von DataTemplateSelector sind die beiden SelectTemplateCore-Überladungen . Um eine effektive DataTemplateSelector-Unterklasse zu definieren, stellen Sie Implementierungen für SelectTemplateCore(Object) und SelectTemplateCore(Object, DependencyObject) bereit. Alle diese Methoden geben eine DataTemplate-instance zurück, die in der Regel eine bestimmte Auswahl ist, die für die Eingaben der Methode geeignet ist, die aufgerufen wurde, um sie abzurufen.

App-Code ruft in der Regel keine SelectTemplate-Methoden auf. Die Methoden sind vorhanden, sodass die Infrastruktur sie aufrufen kann, während die richtigen Vorlagen basierend auf der Verwendung eines DataTemplateSelector-instance aus einem Eigenschaftswert wie ItemsControl.ItemsTemplateSelector ausgewählt werden.

Versionsverlauf

Windows-Version SDK-Version Mehrwert
1809 17763 GetElement
1809 17763 RecycleElement

Konstruktoren

DataTemplateSelector()

Initialisiert eine neue instance der DataTemplateSelector-Klasse.

Methoden

GetElement(ElementFactoryGetArgs)

Erstellt oder ruft eine vorhandene instance des UIElement-Objekts ab, das in der von SelectTemplate zurückgegebenen DataTemplate deklariert wurde.

RecycleElement(ElementFactoryRecycleArgs)

Verwendet ein UIElement-Objekt , das mit GetElement erstellt wurde.

SelectTemplate(Object)

Gibt eine bestimmte DataTemplate für ein bestimmtes Element zurück.

SelectTemplate(Object, DependencyObject)

Gibt eine bestimmte DataTemplate für ein bestimmtes Element und einen bestimmten Container zurück.

SelectTemplateCore(Object)

Gibt bei Implementierung durch eine abgeleitete Klasse eine bestimmte DataTemplate für ein bestimmtes Element oder einen bestimmten Container zurück.

SelectTemplateCore(Object, DependencyObject)

Gibt bei Implementierung durch eine abgeleitete Klasse eine bestimmte DataTemplate für ein bestimmtes Element oder einen bestimmten Container zurück.

Gilt für:

Weitere Informationen