Share via


DataTemplateSelector Klasse

Definition

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
Object IInspectable DataTemplateSelector
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