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 objektu StackPanel. V tomto příkladu je datový objekt volána Tasktřída . 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>

V části resources je běžnější definovat objekt DataTemplate , aby mohl být opakovaně použitelným objektem, jak je znázorněno 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 jako prostředek použít myTaskTemplate, jak je znázorněno 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 šablon dat.

Poznámky

Použijete DataTemplate k určení vizualizace datových objektů. DataTemplate objekty jsou zvlášť užitečné, pokud vytváříte vazbu ItemsControl , například ListBox s celou kolekcí. Bez konkrétních pokynů ListBox se zobrazí řetězcová reprezentace 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

Name Description
DataTemplate()

Inicializuje novou instanci DataTemplate třídy.

DataTemplate(Object)

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

Vlastnosti

Name Description
DataTemplateKey

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

DataType

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

Dispatcher

Dispatcher Získá toto DispatcherObject je přidružené.

(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 tento objekt je 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 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 při definování nebo použití šablony zapisovačem.

(Zděděno od FrameworkTemplate)
Triggers

Získá kolekci triggerů, které aplikují 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

Name Description
CheckAccess()

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

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

Určuje, zda je zadaný objekt roven 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 rámci této šablony.

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

Slouží jako výchozí funkce hash.

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

Získá Type aktuální instance.

(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ří mělkou kopii aktuálního Object.

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

Zaregistruje novou dvojici názvu nebo objektu 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á určuje, zda serializace procesy serializace má serializovat hodnotu Resources vlastnosti u instancí této třídy.

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

Vrátí hodnotu, která určuje, zda serializace procesy serializace má serializovat hodnotu VisualTree vlastnosti u instancí 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 proti sadě pravidel.

VerifyAccess()

Vynucuje, že volající vlákno má přístup k tomuto DispatcherObject.

(Zděděno od DispatcherObject)

Explicitní implementace rozhraní

Name Description
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é