DataTemplate Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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) |