Windows Dev Center

DataTemplate Class

Beschreibt die visuelle Struktur eines Datenobjekts.

Vererbung

Object
  DependencyObject
    FrameworkTemplate
      DataTemplate

Syntax


public class DataTemplate : FrameworkTemplate


<DataTemplate ...>
  templateContent
</DataTemplate>
 


XAML Values

templateContent

Die Struktur von Objekten, die diese DataTemplate definiert. Die Struktur muss ein einzelnes Stammelement umfassen. Dieses kann null oder mehrere untergeordnete Elemente enthalten.

Attribute

[MarshalingBehavior(Agile)]
[Threading(Both)]
[Version(0x06020000)]
[WebHostHidden()]

Member

DataTemplateKlasse hat diese Membertypen:

Konstruktoren

DataTemplateKlasse hat diese Konstruktoren.

KonstruktorBeschreibung
DataTemplate Initializes a new instance of the DataTemplate class.

 

Methoden

The DataTemplate Klasse hat diese Methoden. Es erbt auch Methoden von Object Klasse.

MethodeBeschreibung
ClearValue Clears the local value of a dependency property. (Geerbt von DependencyObject)
GetAnimationBaseValue Returns any base value established for a dependency property, which would apply in cases where an animation is not active. (Geerbt von DependencyObject)
GetValue Returns the current effective value of a dependency property from a DependencyObject. (Geerbt von DependencyObject)
LoadContent Creates the UIElement objects in the DataTemplate.
ReadLocalValue Returns the local value of a dependency property, if a local value is set. (Geerbt von DependencyObject)
SetValue Sets the local value of a dependency property on a DependencyObject. (Geerbt von DependencyObject)

 

Eigenschaften

Der DataTemplateKlasse hat diese Eigenschaften.

EigenschaftZugriffstypBeschreibung

Dispatcher

SchreibgeschütztGets the CoreDispatcher that this object is associated with. (Geerbt von DependencyObject)

 

Hinweise

In der Regel verwenden Sie eine DataTemplate, um die visuelle Darstellung der Daten anzugeben. DataTemplate-Objekte sind besonders hilfreich, wenn Sie ein ItemsControl, wie beispielsweise ListBox an eine vollständige Auflistung binden. Ohne spezifische Anweisungen zeigt eine ListBox die Zeichenfolgendarstellung der Objekte in einer Auflistung an. In diesem Fall können Sie die Darstellung der Datenobjekte mit einem DataTemplate definieren. Der Inhalt der DataTemplate wird zur visuellen Struktur der Datenobjekte.

Sie können die Datenbindung in einer DataTemplate verwenden. Angenommen, ListBox ist beispielsweise an eine Sammlung von Customer-Objekten gebunden und die ItemTemplate-Eigenschaft ist auf DataTemplate festgelegt. Wenn das ListBox erstellt wird, wird ein ListBoxItem für jeden Customer in der Auflistung angelegt, und der DataContext vom ListBoxItem wird für den entsprechenden Kunden festgelegt. Das heißt, der DataContext des ersten ListBoxItem wird auf den ersten Kunden, der DataContext des zweiten ListBoxItem auf den zweiten Kunden gesetzt usw. Sie können Elemente in der DataTemplate an Eigenschaften des Customer-Objekts binden.

Sie können auch eine DataTemplate, verwenden, um UIElement-Objekte für mehrere ContentControl-Objekte freizugeben. Angenommen, Sie benötigen für Ihre Anwendung mehrere Schaltflächen mit der gleichen Grafik. Sie können eine DataTemplate erstellen, die die Grafik enthält, und diese als ContentTemplate für die Schaltflächen verwenden.

Sie können eine DataTemplate als direkt untergeordnetes Element eines ItemTemplate-Eigenschaftenelements in XAML platzieren. Ebenso können Sie eine DataTemplate als Ressource festlegen und dann auf diese Ressource als Wert der ItemTemplate-Eigenschaft verweisen. Die XAML-Verwendung, die den Inhalt bei der Erstellung einer Datenvorlage angibt, ist nicht als einstellbare Eigenschaft verfügbar. Hierbei handelt es sich um eine besondere Funktionsweise innerhalb der XAML-Verarbeitung eines DataTemplate-Objektelements.

Beispiele

Das folgende Beispiel verwendet eine DataTemplate, um die Elemente einer ListBox anzuzeigen. In diesem Beispiel ist ListBox an eine Auflistung von Customer-Objekten gebunden. Der DataTemplate enthält TextBlock-Steuerelemente, die sich an die Eigenschaften FirstName, LastName und Address binden. Weitere Informationen zur Datenbindung finden Sie unter Übersicht über die Datenbindung.


<Grid>
    <Grid.Resources>
        <src:Customers x:Key="customers"/>
    </Grid.Resources>

    <ListBox ItemsSource="{StaticResource customers}" Width="350" Margin="0,5,0,10">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal">
                    <TextBlock Padding="5,0,5,0"
          Text="{Binding FirstName}" />
                    <TextBlock Text="{Binding LastName}" />
                    <TextBlock Text=", " />
                    <TextBlock Text="{Binding Address}" />
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
</Grid>


Im folgenden Beispiel werden die Customer-Klasse und die Auflistung veranschaulicht, an die ListBox gebunden ist.


public class Customer
{
    public String FirstName { get; set; }
    public String LastName { get; set; }
    public String Address { get; set; }

    public Customer(String firstName, String lastName, String address)
    {
        this.FirstName = firstName;
        this.LastName = lastName;
        this.Address = address;
    }

}

public class Customers : ObservableCollection<Customer>
{
    public Customers()
    {
        Add(new Customer("Michael", "Anderberg",
                "12 North Third Street, Apartment 45"));
        Add(new Customer("Chris", "Ashton",
                "34 West Fifth Street, Apartment 67"));
        Add(new Customer("Cassie", "Hicks",
                "56 East Seventh Street, Apartment 89"));
        Add(new Customer("Guido", "Pica",
                "78 South Ninth Street, Apartment 10"));
    }

}


Anforderungen

Mindestens unterstützter Client

Windows 8 [Nur Windows Store-Apps]

Mindestens unterstützter Server

Windows Server 2012 [Nur Windows Store-Apps]

Namespace

Windows.UI.Xaml
Windows::UI::Xaml [C++]

Metadaten

Windows.winmd

Siehe auch

FrameworkTemplate
ItemsControl.ItemTemplate
ContentControl.ContentTemplate
ResourceDictionary- und XAML-Ressourcenverweise

 

 

Anzeigen:
© 2015 Microsoft