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 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 einen instance der benutzerdefinierten Klasse zu verweisen, wie in einem Resources-Block in XAML definiert. Dies ermöglicht es, auf die benutzerdefinierte Vorlagenauswahlklasse nach x:Key zu verweisen und diesen Verweis zum Festlegen des Werts von Eigenschaften wie ItemTemplateSelector in XAML-Vorlagen und visuellen Zuständen zu verwenden.
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.
Xaml-Code, der auf einen benutzerdefinierten DataTemplateSelector als HeaderTemplateSelector-Wert verweist, und Beispielcode, der die Außerkraftsetzungen für HeaderTemplateSelector-Methoden zeigt, finden Sie unter Gruppieren von Elementen in einer Liste oder einem Raster.
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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für