Sdílet prostřednictvím


DataTemplate Třída

Definice

Popisuje vizuální strukturu datového objektu.

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
Dědičnost
Odvozené
Atributy

Příklady

Následující příklad ukazuje, jak vytvořit vložený DataTemplate . Určuje DataTemplate , že každá datová položka se zobrazí jako tři TextBlock prvky v rámci StackPanel. V tomto příkladu je datový objekt třída s názvem Task. Všimněte si, že každý TextBlock prvek v této šabloně je vázán na vlastnost Task třídy.

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

Obecnější je definovat DataTemplate v oddílu prostředků, aby mohl být opakovaně použitelným objektem, jako v následujícím příkladu:

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

Teď můžete použít myTaskTemplate jako prostředek, jako v následujícím příkladu:

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

Kompletní ukázku najdete v tématu Úvod do ukázky šablonování dat.

Poznámky

Použijete k DataTemplate určení vizualizace datových objektů. DataTemplate objekty jsou zvlášť užitečné, pokud vytváříte vazbu ItemsControl , jako ListBox je například celá kolekce. Bez konkrétních pokynů ListBox zobrazí řetězcovou reprezentaci objektů v kolekci. V takovém případě můžete použít DataTemplate k definování vzhledu datových objektů. Obsah vašeho DataTemplate objektu se stane vizuální strukturou datových objektů.

Podrobnou diskuzi najdete v tématu Přehled šablon dat.

Konstruktory

DataTemplate()

Inicializuje novou instanci DataTemplate třídy.

DataTemplate(Object)

Inicializuje novou instanci DataTemplate třídy se zadanou DataType vlastností.

Vlastnosti

DataTemplateKey

Získá výchozí klíč DataTemplate.

DataType

Získá nebo nastaví typ, pro který je určen DataTemplate .

Dispatcher

Získá to DispatcherObject je přidruženoDispatcher.

(Zděděno od DispatcherObject)
HasContent

Získá hodnotu, která označuje, zda tato šablona má optimalizovaný obsah.

(Zděděno od FrameworkTemplate)
IsSealed

Získá hodnotu, která označuje, zda je tento objekt v neměnném stavu, takže jej nelze změnit.

(Zděděno od FrameworkTemplate)
Resources

Získá nebo nastaví kolekci prostředků, které lze použít v rámci oboru této šablony.

(Zděděno od FrameworkTemplate)
Template

Získá nebo nastaví odkaz na objekt, který zaznamenává nebo přehrává uzly XAML pro šablonu, když je šablona definována nebo použita zapisovačem.

(Zděděno od FrameworkTemplate)
Triggers

Získá kolekci triggerů, které používají hodnoty vlastností nebo provádějí akce na základě jedné nebo více podmínek.

VisualTree

Získá nebo nastaví kořenový uzel šablony.

(Zděděno od FrameworkTemplate)

Metody

CheckAccess()

Určuje, zda má volající vlákno přístup k tomuto DispatcherObject.

(Zděděno od DispatcherObject)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
FindName(String, FrameworkElement)

Vyhledá prvek přidružený k zadanému názvu definovanému v této šabloně.

(Zděděno od FrameworkTemplate)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
LoadContent()

Načte obsah šablony jako instanci objektu a vrátí kořenový prvek obsahu.

(Zděděno od FrameworkTemplate)
MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
RegisterName(String, Object)

Zaregistruje novou dvojici názvů a objektů do aktuálního oboru názvů.

(Zděděno od FrameworkTemplate)
Seal()

Uzamkne šablonu, aby ji nebylo možné změnit.

(Zděděno od FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager)

Vrátí hodnotu, která označuje, zda serializační procesy mají serializovat hodnotu Resources vlastnosti na instancích této třídy.

(Zděděno od FrameworkTemplate)
ShouldSerializeVisualTree()

Vrátí hodnotu, která označuje, zda serializační procesy mají serializovat hodnotu VisualTree vlastnosti na instancích této třídy.

(Zděděno od FrameworkTemplate)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
UnregisterName(String)

Odebere mapování názvu nebo objektu z oboru názvů XAML.

(Zděděno od FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement)

Zkontroluje nadřazenou šablonu pro sadu pravidel.

VerifyAccess()

Vynucuje, aby volající vlákno má k tomuto DispatcherObjectpřístupu přístup .

(Zděděno od DispatcherObject)

Explicitní implementace rozhraní

INameScope.FindName(String)

Vrátí objekt, který má zadaný název identifikace.

(Zděděno od FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

Dotazuje, zda je zadaná okolí vlastnost k dispozici v aktuálním oboru.

(Zděděno od FrameworkTemplate)

Platí pro

Viz také