DataTemplate Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Beskriver den visuella strukturen för ett dataobjekt.
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
- Arv
- Härledda
- Attribut
Exempel
I följande exempel visas hur du skapar en DataTemplate infogad.
DataTemplate Anger att varje dataobjekt visas som tre TextBlock element i en StackPanel. I det här exemplet är dataobjektet en klass med namnet Task. Observera att varje TextBlock element i den här mallen är bundet till en egenskap för Task klassen.
<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>
Det är vanligare att definiera en DataTemplate i resursavsnittet så att det kan vara ett återanvändbart objekt, som i följande exempel:
<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>
Nu kan du använda myTaskTemplate som en resurs, som i följande exempel:
<ListBox Width="400" Margin="10"
ItemsSource="{Binding Source={StaticResource myTodoList}}"
ItemTemplate="{StaticResource myTaskTemplate}"/>
För det kompletta exemplet, se Introduktion till datamall-exemplet.
Kommentarer
Du använder en DataTemplate för att ange visualiseringen av dina dataobjekt. DataTemplate objekt är särskilt användbara när du binder en ItemsControl till exempel en ListBox till en hel samling. Utan specifika instruktioner ListBox visas strängrepresentationen av objekten i en samling. I så fall kan du använda en DataTemplate för att definiera utseendet på dina dataobjekt. Innehållet i ditt DataTemplate blir den visuella strukturen för dina dataobjekt.
En djupgående diskussion finns i Översikt över databeräkning.
Konstruktorer
| Name | Description |
|---|---|
| DataTemplate() |
Initierar en ny instans av DataTemplate klassen. |
| DataTemplate(Object) |
Initierar en ny instans av DataTemplate klassen med den angivna DataType egenskapen. |
Egenskaper
| Name | Description |
|---|---|
| DataTemplateKey |
Hämtar standardnyckeln för DataTemplate. |
| DataType |
Hämtar eller anger den typ som detta DataTemplate är avsett för. |
| Dispatcher |
Hämtar det Dispatcher som DispatcherObject är associerat med. (Ärvd från DispatcherObject) |
| HasContent |
Hämtar ett värde som anger om den här mallen har optimerat innehåll. (Ärvd från FrameworkTemplate) |
| IsSealed |
Hämtar ett värde som anger om det här objektet är i ett oföränderligt tillstånd så att det inte kan ändras. (Ärvd från FrameworkTemplate) |
| Resources |
Hämtar eller anger den samling resurser som kan användas inom ramen för den här mallen. (Ärvd från FrameworkTemplate) |
| Template |
Hämtar eller anger en referens till objektet som registrerar eller spelar upp XAML-noderna för mallen när mallen definieras eller tillämpas av en skrivare. (Ärvd från FrameworkTemplate) |
| Triggers |
Hämtar en samling utlösare som tillämpar egenskapsvärden eller utför åtgärder baserat på ett eller flera villkor. |
| VisualTree |
Hämtar eller anger mallens rotnod. (Ärvd från FrameworkTemplate) |
Metoder
| Name | Description |
|---|---|
| CheckAccess() |
Avgör om den anropande tråden har åtkomst till den här DispatcherObject. (Ärvd från DispatcherObject) |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| FindName(String, FrameworkElement) |
Söker efter elementet som är associerat med det angivna namnet som definierats i den här mallen. (Ärvd från FrameworkTemplate) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| LoadContent() |
Läser in innehållet i mallen som en instans av ett objekt och returnerar rotelementet i innehållet. (Ärvd från FrameworkTemplate) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| RegisterName(String, Object) |
Registrerar ett nytt namn/objektpar i det aktuella namnomfånget. (Ärvd från FrameworkTemplate) |
| Seal() |
Låser mallen så att den inte kan ändras. (Ärvd från FrameworkTemplate) |
| ShouldSerializeResources(XamlDesignerSerializationManager) |
Returnerar ett värde som anger om serialiseringsprocesser ska serialisera värdet Resources för egenskapen på instanser av den här klassen. (Ärvd från FrameworkTemplate) |
| ShouldSerializeVisualTree() |
Returnerar ett värde som anger om serialiseringsprocesser ska serialisera värdet VisualTree för egenskapen på instanser av den här klassen. (Ärvd från FrameworkTemplate) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| UnregisterName(String) |
Tar bort ett namn/objektmappning från XAML-namnskopet. (Ärvd från FrameworkTemplate) |
| ValidateTemplatedParent(FrameworkElement) |
Kontrollerar den överordnade mallen mot en uppsättning regler. |
| VerifyAccess() |
Framtvingar att den anropande tråden har åtkomst till den här DispatcherObject. (Ärvd från DispatcherObject) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| INameScope.FindName(String) |
Returnerar ett objekt som har det angivna identifieringsnamnet. (Ärvd från FrameworkTemplate) |
| IQueryAmbient.IsAmbientPropertyAvailable(String) |
Frågar om en angiven omgivande egenskap är tillgänglig i det aktuella omfånget. (Ärvd från FrameworkTemplate) |