Udostępnij za pośrednictwem


DataTemplate Klasa

Definicja

Opisuje strukturę wizualną obiektu danych.

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
Dziedziczenie
Pochodne
Atrybuty

Przykłady

W poniższym przykładzie pokazano, jak utworzyć DataTemplate wbudowany kod. Określa DataTemplate , że każdy element danych jest wyświetlany jako trzy TextBlock elementy w obiekcie StackPanel. W tym przykładzie obiekt danych jest klasą o nazwie Task. Należy pamiętać, że każdy TextBlock element w tym szablonie jest powiązany z właściwością Task klasy.

<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>

Częściej należy zdefiniować obiekt DataTemplate w sekcji zasobów, aby mógł być obiektem wielokrotnego użytku, jak w poniższym przykładzie:

<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>

Teraz możesz użyć myTaskTemplate jako zasobu, jak w poniższym przykładzie:

<ListBox Width="400" Margin="10"
         ItemsSource="{Binding Source={StaticResource myTodoList}}"
         ItemTemplate="{StaticResource myTaskTemplate}"/>

Pełny przykład można znaleźć w temacie Introduction to Data Templating Sample (Wprowadzenie do przykładu tworzenia szablonów danych).

Uwagi

Element służy DataTemplate do określania wizualizacji obiektów danych. DataTemplate obiekty są szczególnie przydatne w przypadku powiązania obiektu ItemsControl takiego jak dla ListBox całej kolekcji. Bez określonych instrukcji obiekt ListBox wyświetla reprezentację ciągów w kolekcji. W takim przypadku można użyć obiektu , DataTemplate aby zdefiniować wygląd obiektów danych. Zawartość DataTemplate staje się wizualną strukturą obiektów danych.

Szczegółowe omówienie można znaleźć w temacie Omówienie tworzenia szablonów danych.

Konstruktory

DataTemplate()

Inicjuje nowe wystąpienie klasy DataTemplate.

DataTemplate(Object)

Inicjuje DataTemplate nowe wystąpienie klasy z określoną DataType właściwością.

Właściwości

DataTemplateKey

Pobiera domyślny klucz .DataTemplate

DataType

Pobiera lub ustawia typ, dla którego jest to DataTemplate zamierzone.

Dispatcher

Dispatcher Pobiera tę DispatcherObject wartość skojarzona z.

(Odziedziczone po DispatcherObject)
HasContent

Pobiera wartość wskazującą, czy ten szablon ma zoptymalizowaną zawartość.

(Odziedziczone po FrameworkTemplate)
IsSealed

Pobiera wartość wskazującą, czy ten obiekt jest w stanie niezmiennym, więc nie można go zmienić.

(Odziedziczone po FrameworkTemplate)
Resources

Pobiera lub ustawia kolekcję zasobów, które mogą być używane w zakresie tego szablonu.

(Odziedziczone po FrameworkTemplate)
Template

Pobiera lub ustawia odwołanie do obiektu, który rejestruje lub odtwarza węzły XAML dla szablonu, gdy szablon jest zdefiniowany lub stosowany przez moduł zapisywania.

(Odziedziczone po FrameworkTemplate)
Triggers

Pobiera kolekcję wyzwalaczy, które stosują wartości właściwości lub wykonują akcje na podstawie co najmniej jednego warunków.

VisualTree

Pobiera lub ustawia węzeł główny szablonu.

(Odziedziczone po FrameworkTemplate)

Metody

CheckAccess()

Określa, czy wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
FindName(String, FrameworkElement)

Znajduje element skojarzony z określoną nazwą zdefiniowaną w tym szablonie.

(Odziedziczone po FrameworkTemplate)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
LoadContent()

Ładuje zawartość szablonu jako wystąpienie obiektu i zwraca element główny zawartości.

(Odziedziczone po FrameworkTemplate)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
RegisterName(String, Object)

Rejestruje nową parę nazw/obiektów w bieżącym zakresie nazw.

(Odziedziczone po FrameworkTemplate)
Seal()

Blokuje szablon, aby nie można go było zmienić.

(Odziedziczone po FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager)

Zwraca wartość wskazującą, czy procesy serializacji powinny serializować wartość Resources właściwości w wystąpieniach tej klasy.

(Odziedziczone po FrameworkTemplate)
ShouldSerializeVisualTree()

Zwraca wartość wskazującą, czy procesy serializacji powinny serializować wartość VisualTree właściwości w wystąpieniach tej klasy.

(Odziedziczone po FrameworkTemplate)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
UnregisterName(String)

Usuwa mapowanie nazw/obiektów z zakresu nazw XAML.

(Odziedziczone po FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement)

Sprawdza szablon elementu nadrzędnego względem zestawu reguł.

VerifyAccess()

Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)

Jawne implementacje interfejsu

INameScope.FindName(String)

Zwraca obiekt, który ma podaną nazwę identyfikującą.

(Odziedziczone po FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

Kwerenda, czy określona właściwość otoczenia jest dostępna w bieżącym zakresie.

(Odziedziczone po FrameworkTemplate)

Dotyczy

Zobacz też