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(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
- Vererbung
- Attribute
- Implementiert
Hinweise
Weitere Informationen und Beispiele finden Sie unter "Datenvorlagenauswahl". Allgemeine Informationen zu Datenvorlagen finden Sie in den DataTemplate-Klassen - und Item-Containern und -Vorlagen.
Die DataTemplateSelector-Basisklasse wird nicht als Objektelement in XAML verwendet. Es ist jedoch ein gängiges Szenario, ein benutzerdefiniertes DataTemplateSelector abzuleiten, ein XMLns-Präfix für die benutzerdefinierte Klasse und deren Namespace/Assembly zuzuordnen und dann auf eine Instanz der benutzerdefinierten Klasse zu verweisen, wie in einem Ressourcenblock in XAML definiert. Auf diese Weise können Sie auf die benutzerdefinierte Vorlagenauswahlklasse x :Key verweisen und diesen Verweis 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-Instanz 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 vorhanden sind, damit die Infrastruktur sie aufrufen kann, während sie die richtigen Vorlagen basierend auf der Verwendung einer DataTemplateSelector-Instanz aus einem Eigenschaftswert wie ItemsControl.ItemsTemplateSelector auswählen kann.
Beispiel-XAML, die auf einen benutzerdefinierten DataTemplateSelector als HeaderTemplateSelector-Wert verweist, und Beispielcode, der die Außerkraftsetzungen für HeaderTemplateSelector-Methoden anzeigt, finden Sie unter "Gruppieren von Elementen in einer Liste oder einem Raster".
Konstruktoren
| Name | Beschreibung |
|---|---|
| DataTemplateSelector() |
Initialisiert eine neue Instanz der DataTemplateSelector-Klasse . |
Methoden
| Name | Beschreibung |
|---|---|
| GetElement(ElementFactoryGetArgs) |
Erstellt oder ruft eine vorhandene Instanz des UIElement -Objekts, das in der von SelectTemplate zurückgegebenen DataTemplate deklariert wurde. |
| RecycleElement(ElementFactoryRecycleArgs) |
Recycelt ein UIElement - Objekt, das mit GetElement erstellt wurde. |
| SelectTemplate(Object, DependencyObject) |
Gibt eine bestimmte DataTemplate für ein bestimmtes Element und einen bestimmten Container zurück. |
| SelectTemplate(Object) |
Gibt eine bestimmte DataTemplate für ein bestimmtes Element zurück. |
| SelectTemplateCore(Object, DependencyObject) |
Wenn sie von einer abgeleiteten Klasse implementiert wird, wird eine bestimmte DataTemplate für ein bestimmtes Element oder einen bestimmten Container zurückgegeben. |
| SelectTemplateCore(Object) |
Wenn sie von einer abgeleiteten Klasse implementiert wird, wird eine bestimmte DataTemplate für ein bestimmtes Element oder einen bestimmten Container zurückgegeben. |