DataTemplate Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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) |