DataTemplate 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.
Beschreibt die visuelle Struktur eines Datenobjekts.
public ref class DataTemplate : System::Windows::FrameworkTemplate
[System.Windows.Markup.DictionaryKeyProperty("DataTemplateKey")]
public class DataTemplate : System.Windows.FrameworkTemplate
[<System.Windows.Markup.DictionaryKeyProperty("DataTemplateKey")>]
type DataTemplate = class
inherit FrameworkTemplate
Public Class DataTemplate
Inherits FrameworkTemplate
- Vererbung
- Abgeleitet
- Attribute
Beispiele
Im folgenden Beispiel wird gezeigt, wie Sie eine DataTemplate Inline erstellen. Dies DataTemplate gibt an, dass jedes Datenelement in einem StackPanelElement als drei TextBlock Elemente angezeigt wird. In diesem Beispiel ist das Datenobjekt eine Klasse namens Task
. Beachten Sie, dass jedes TextBlock Element in dieser Vorlage an eine Eigenschaft der Task
Klasse gebunden ist.
<ListBox Width="400" Margin="10"
ItemsSource="{Binding Source={StaticResource myTodoList}}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Es ist häufiger, einen DataTemplate Abschnitt "Ressourcen" zu definieren, damit es ein wiederverwendbares Objekt sein kann, wie im folgenden Beispiel:
<Window.Resources>
<DataTemplate x:Key="myTaskTemplate">
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</DataTemplate>
</Window.Resources>
Sie können myTaskTemplate
nun als Ressource verwenden, wie im folgenden Beispiel veranschaulicht:
<ListBox Width="400" Margin="10"
ItemsSource="{Binding Source={StaticResource myTodoList}}"
ItemTemplate="{StaticResource myTaskTemplate}"/>
Das vollständige Beispiel finden Sie unter Einführung in das Datenvorlagenbeispiel.
Hinweise
Sie verwenden eine DataTemplate , um die Visualisierung Ihrer Datenobjekte anzugeben. DataTemplate Objekte sind besonders nützlich, wenn Sie eine Bindung an eine ItemsControl ListBox gesamte Auflistung durchführen. Ohne bestimmte Anweisungen zeigt eine ListBox Zeichenfolgendarstellung der Objekte in einer Auflistung an. In diesem Fall können Sie eine DataTemplate verwenden, um die Darstellung Ihrer Datenobjekte zu definieren. Der Inhalt Ihrer Datenobjekte wird zur visuellen Struktur Ihrer DataTemplate Datenobjekte.
Eine ausführliche Diskussion finden Sie unter "Übersicht über daten templating".
Konstruktoren
DataTemplate() |
Initialisiert eine neue Instanz der DataTemplate-Klasse. |
DataTemplate(Object) |
Initialisiert eine neue Instanz der DataTemplate-Klasse mit der angegebenen DataType-Eigenschaft. |
Eigenschaften
DataTemplateKey |
Ruft den Standardschlüssel der DataTemplate ab. |
DataType |
Dient zum Abrufen oder Festlegen des Typs, für den diese DataTemplate vorgesehen ist. |
Dispatcher |
Ruft den Dispatcher ab, der diesem DispatcherObject zugeordnet ist. (Geerbt von DispatcherObject) |
HasContent |
Ruft einen Wert ab, der angibt, ob diese Vorlage optimierten Inhalt aufweist. (Geerbt von FrameworkTemplate) |
IsSealed |
Ruft einen Wert ab, der angibt, ob sich dieses Objekt in einem unveränderlichen Zustand befindet. (Geerbt von FrameworkTemplate) |
Resources |
Ruft die Auflistung von Ressourcen ab, die innerhalb des Bereichs dieser Vorlage verwendet werden können, oder legt sie fest. (Geerbt von FrameworkTemplate) |
Template |
Ruft einen Verweis auf das Objekt ab, das die XAML-Knoten für die Vorlage aufzeichnet oder wiedergibt, wenn die Vorlage von einem Writer definiert oder angewendet wird, oder legt diesen Verweis fest. (Geerbt von FrameworkTemplate) |
Triggers |
Ruft eine Auflistung von Triggern ab, die Eigenschaftswerte anwenden oder Aktionen anhand einer oder mehrerer Bedingungen ausführen. |
VisualTree |
Ruft den Stammknoten der Vorlage ab oder legt diesen fest. (Geerbt von FrameworkTemplate) |
Methoden
CheckAccess() |
Bestimmt, ob der aufrufende Thread auf dieses DispatcherObject zugreifen kann. (Geerbt von DispatcherObject) |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
FindName(String, FrameworkElement) |
Sucht das Element, das dem angegebenen Namen zugeordnet und in dieser Vorlage definiert ist. (Geerbt von FrameworkTemplate) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
LoadContent() |
Lädt den Inhalt der Vorlage als Instanz eines Objekts und gibt das Stammelement des Inhalts zurück. (Geerbt von FrameworkTemplate) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
RegisterName(String, Object) |
Registriert ein neues Name/Objekt-Paar im aktuellen Namescope. (Geerbt von FrameworkTemplate) |
Seal() |
Sperrt die Vorlage, damit diese nicht geändert werden kann. (Geerbt von FrameworkTemplate) |
ShouldSerializeResources(XamlDesignerSerializationManager) |
Gibt einen Wert zurück, mit dem angegeben wird, ob Serialisierungsprozesse den Wert der Resources-Eigenschaft für Instanzen dieser Klasse serialisieren sollen. (Geerbt von FrameworkTemplate) |
ShouldSerializeVisualTree() |
Gibt einen Wert zurück, mit dem angegeben wird, ob Serialisierungsprozesse den Wert der VisualTree-Eigenschaft für Instanzen dieser Klasse serialisieren sollen. (Geerbt von FrameworkTemplate) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
UnregisterName(String) |
Entfernt eine Name/Objekt-Zuordnung aus dem XAML-Namescope. (Geerbt von FrameworkTemplate) |
ValidateTemplatedParent(FrameworkElement) |
Vergleicht das auf Vorlagen basierende übergeordnete Element mit einer Reihe von Regeln. |
VerifyAccess() |
Erzwingt, dass der aufrufende Thread auf dieses DispatcherObject zugreifen kann. (Geerbt von DispatcherObject) |
Explizite Schnittstellenimplementierungen
INameScope.FindName(String) |
Gibt ein Objekt zurück, das über den bereitgestellten kennzeichnenden Namen verfügt. (Geerbt von FrameworkTemplate) |
IQueryAmbient.IsAmbientPropertyAvailable(String) |
Fragt ab, ob eine angegebene Ambient-Eigenschaft im aktuellen Bereich verfügbar ist. (Geerbt von FrameworkTemplate) |