DataTemplate Klass

Definition

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)

Gäller för

Se även