Freigeben über


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 und Beispiele finden Sie unter Auswahl von Datenvorlagen. Allgemeine Informationen zu Datenvorlagen finden Sie in der DataTemplate Klasse und Item-Container 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 Resources-Block in XAML definiert. Auf diese Weise können Sie auf die benutzerdefinierte Vorlagenauswahlklasse x:Keyverweisen 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.ItemsTemplateSelectorauswä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

DataTemplateSelector()

Initialisiert eine neue Instanz der DataTemplateSelector Klasse.

Methoden

GetElement(ElementFactoryGetArgs)

Erstellt oder ruft eine vorhandene Instanz des UIElement- -Objekts, das in der DataTemplate zurückgegeben von SelectTemplatezurückgegeben wird.

RecycleElement(ElementFactoryRecycleArgs)

Recycelt ein UIElement- -Objekt, das mit GetElementerstellt wurde.

SelectTemplate(Object, DependencyObject)

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

SelectTemplate(Object)

Gibt einen bestimmten DataTemplate- für ein bestimmtes Element zurück.

SelectTemplateCore(Object, DependencyObject)

Wenn sie von einer abgeleiteten Klasse implementiert wird, wird ein bestimmter DataTemplate- für ein bestimmtes Element oder Einen bestimmten Container zurückgegeben.

SelectTemplateCore(Object)

Wenn sie von einer abgeleiteten Klasse implementiert wird, wird ein bestimmter DataTemplate- für ein bestimmtes Element oder Einen bestimmten Container zurückgegeben.

Gilt für:

Weitere Informationen