DataTemplate Classe

Definizione

Descrive la struttura visiva di un oggetto dati.

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
Ereditarietà
Derivato
Attributi

Esempio

Nell'esempio seguente viene illustrato come creare un DataTemplate oggetto inline. Specifica DataTemplate che ogni elemento di dati viene visualizzato come tre TextBlock elementi all'interno di un oggetto StackPanel. In questo esempio l'oggetto dati è una classe denominata Task. Si noti che ogni TextBlock elemento in questo modello è associato a una proprietà della Task classe .

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

È più comune definire un oggetto DataTemplate nella sezione resources in modo che possa essere un oggetto riutilizzabile, come nell'esempio seguente:

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

È possibile a questo punto usare myTaskTemplate come risorsa, come illustrato nell'esempio seguente:

<ListBox Width="400" Margin="10"
         ItemsSource="{Binding Source={StaticResource myTodoList}}"
         ItemTemplate="{StaticResource myTaskTemplate}"/>

Per l'esempio completo, vedere Introduction to Data Templating Sample (Introduzione a un esempio di applicazione di modello).

Commenti

Si usa un DataTemplate oggetto per specificare la visualizzazione degli oggetti dati. DataTemplate gli oggetti sono particolarmente utili quando si associa un ItemsControl ListBox oggetto ad esempio a un'intera raccolta. Senza istruzioni specifiche, un ListBox oggetto visualizza la rappresentazione di stringa degli oggetti in una raccolta. In tal caso, è possibile usare un DataTemplate oggetto per definire l'aspetto degli oggetti dati. Il contenuto dell'oggetto DataTemplate diventa la struttura visiva degli oggetti dati.

Per una discussione approfondita, vedere Cenni preliminari sulla creazione di modelli di dati.

Costruttori

DataTemplate()

Inizializza una nuova istanza della classe DataTemplate.

DataTemplate(Object)

Inizializza una nuova istanza della classe DataTemplate con la proprietà DataType specificata.

Proprietà

DataTemplateKey

Ottiene la chiave predefinita di DataTemplate.

DataType

Ottiene o imposta il tipo per cui l'oggetto DataTemplate è destinato.

Dispatcher

Ottiene l'oggetto Dispatcher associato a DispatcherObject.

(Ereditato da DispatcherObject)
HasContent

Ottiene un valore che indica se il contenuto di questo modello è stato ottimizzato.

(Ereditato da FrameworkTemplate)
IsSealed

Ottiene un valore che indica se questo oggetto è in uno stato immutabile e pertanto non può essere modificato.

(Ereditato da FrameworkTemplate)
Resources

Ottiene o imposta l'insieme di risorse che possono essere utilizzate all'interno dell'ambito di questo modello.

(Ereditato da FrameworkTemplate)
Template

Ottiene o imposta un riferimento all'oggetto che registra o riproduce i nodi XAML per il modello quando il modello è definito o è applicato da un writer.

(Ereditato da FrameworkTemplate)
Triggers

Ottiene un insieme di trigger che applicano valori di proprietà o eseguono azioni in base a una o più condizioni.

VisualTree

Ottiene o imposta il nodo radice del modello.

(Ereditato da FrameworkTemplate)

Metodi

CheckAccess()

Determina se il thread chiamante ha accesso a DispatcherObject.

(Ereditato da DispatcherObject)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
FindName(String, FrameworkElement)

Trova l'elemento associato al nome specificato definito all'interno del modello.

(Ereditato da FrameworkTemplate)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
LoadContent()

Carica il contenuto del modello come istanza di un oggetto e restituisce l'elemento radice del contenuto.

(Ereditato da FrameworkTemplate)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
RegisterName(String, Object)

Registra una nuova coppia nome/oggetto nel namescope corrente.

(Ereditato da FrameworkTemplate)
Seal()

Blocca il modello affinché non possa essere modificato.

(Ereditato da FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager)

Restituisce un valore che indica se i processi di serializzazione devono serializzare il valore della proprietà Resources sulle istanze di questa classe.

(Ereditato da FrameworkTemplate)
ShouldSerializeVisualTree()

Restituisce un valore che indica se i processi di serializzazione devono serializzare il valore della proprietà VisualTree sulle istanze di questa classe.

(Ereditato da FrameworkTemplate)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
UnregisterName(String)

Rimuove un mapping nome/oggetto dal NameScope XAML.

(Ereditato da FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement)

Controlla il padre basato su modelli rispetto a un insieme di regole.

VerifyAccess()

Impone che il thread chiamante abbia accesso a DispatcherObject.

(Ereditato da DispatcherObject)

Implementazioni dell'interfaccia esplicita

INameScope.FindName(String)

Restituisce un oggetto con il nome identificativo specificato.

(Ereditato da FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

Esegue una query per determinare se una proprietà di ambiente specificata è disponibile nell'ambito corrente.

(Ereditato da FrameworkTemplate)

Si applica a

Vedi anche