DataTemplateSelector Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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:Key
zu 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. |