Freigeben über


DataTemplate Klasse

Definition

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)

Gilt für

Siehe auch