DataTemplate Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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) |