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