DataTemplate Classe

Definizione

Descrive la struttura visiva di un oggetto dati.Describes the visual structure of a data object.

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 oggetto DataTemplate inline.The following example shows how to create a DataTemplate inline. DataTemplateSpecifica che ogni elemento di dati viene visualizzato come tre TextBlock elementi all'interno di un oggetto StackPanel .The DataTemplate specifies that each data item appears as three TextBlock elements within a StackPanel. In questo esempio, l'oggetto dati è una classe denominata Task .In this example, the data object is a class called Task. Si noti che ogni TextBlock elemento in questo modello è associato a una proprietà della Task classe.Note that each TextBlock element in this template is bound to a property of the Task class.

<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 DataTemplate oggetto nella sezione Resources, in modo che possa essere un oggetto riutilizzabile, come nell'esempio seguente:It is more common to define a DataTemplate in the resources section so it can be a reusable object, as in the following example:

<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:Now you can use myTaskTemplate as a resource, as in the following example:

<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).For the complete sample, see Introduction to Data Templating Sample.

Commenti

Usare un oggetto DataTemplate per specificare la visualizzazione degli oggetti dati.You use a DataTemplate to specify the visualization of your data objects. DataTemplate gli oggetti sono particolarmente utili quando si associa un oggetto ItemsControl , ad esempio un oggetto ListBox a un intero insieme.DataTemplate objects are particularly useful when you are binding an ItemsControl such as a ListBox to an entire collection. Senza istruzioni specifiche, un oggetto ListBox Visualizza la rappresentazione di stringa degli oggetti in una raccolta.Without specific instructions, a ListBox displays the string representation of the objects in a collection. In tal caso, è possibile usare un oggetto DataTemplate per definire l'aspetto degli oggetti dati.In that case, you can use a DataTemplate to define the appearance of your data objects. Il contenuto del DataTemplate diventa la struttura visiva degli oggetti dati.The content of your DataTemplate becomes the visual structure of your data objects.

Per una discussione approfondita, vedere Cenni preliminari sui modelli di dati.For an in-depth discussion, see Data Templating Overview.

Costruttori

DataTemplate()

Inizializza una nuova istanza della classe DataTemplate.Initializes a new instance of the DataTemplate class.

DataTemplate(Object)

Inizializza una nuova istanza della classe DataTemplate con la proprietà DataType specificata.Initializes a new instance of the DataTemplate class with the specified DataType property.

Proprietà

DataTemplateKey

Ottiene la chiave predefinita di DataTemplate.Gets the default key of the DataTemplate.

DataType

Ottiene o imposta il tipo per cui l'oggetto DataTemplate è destinato.Gets or sets the type for which this DataTemplate is intended.

Dispatcher

Ottiene l'oggetto Dispatcher associato a DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Ereditato da DispatcherObject)
HasContent

Ottiene un valore che indica se il contenuto di questo modello è stato ottimizzato.Gets a value that indicates whether this template has optimized content.

(Ereditato da FrameworkTemplate)
IsSealed

Ottiene un valore che indica se questo oggetto è in uno stato immutabile e pertanto non può essere modificato.Gets a value that indicates whether this object is in an immutable state so it cannot be changed.

(Ereditato da FrameworkTemplate)
Resources

Ottiene o imposta l'insieme di risorse che possono essere utilizzate all'interno dell'ambito di questo modello.Gets or sets the collection of resources that can be used within the scope of this template.

(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.Gets or sets a reference to the object that records or plays the XAML nodes for the template when the template is defined or applied by a 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.Gets a collection of triggers that apply property values or perform actions based on one or more conditions.

VisualTree

Ottiene o imposta il nodo radice del modello.Gets or sets the root node of the template.

(Ereditato da FrameworkTemplate)

Metodi

CheckAccess()

Determina se il thread chiamante ha accesso a DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Ereditato da DispatcherObject)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
FindName(String, FrameworkElement)

Trova l'elemento associato al nome specificato definito all'interno del modello.Finds the element associated with the specified name defined within this template.

(Ereditato da FrameworkTemplate)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
LoadContent()

Carica il contenuto del modello come istanza di un oggetto e restituisce l'elemento radice del contenuto.Loads the content of the template as an instance of an object and returns the root element of the content.

(Ereditato da FrameworkTemplate)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
RegisterName(String, Object)

Registra una nuova coppia nome/oggetto nel namescope corrente.Registers a new name/object pair into the current name scope.

(Ereditato da FrameworkTemplate)
Seal()

Blocca il modello affinché non possa essere modificato.Locks the template so it cannot be changed.

(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.Returns a value that indicates whether serialization processes should serialize the value of the Resources property on instances of this class.

(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.Returns a value that indicates whether serialization processes should serialize the value of the VisualTree property on instances of this class.

(Ereditato da FrameworkTemplate)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)
UnregisterName(String)

Rimuove un mapping nome/oggetto dal NameScope XAML.Removes a name/object mapping from the XAML namescope.

(Ereditato da FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement)

Controlla il padre basato su modelli rispetto a un insieme di regole.Checks the templated parent against a set of rules.

VerifyAccess()

Impone che il thread chiamante abbia accesso a DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Ereditato da DispatcherObject)

Implementazioni dell'interfaccia esplicita

INameScope.FindName(String)

Restituisce un oggetto con il nome identificativo specificato.Returns an object that has the provided identifying name.

(Ereditato da FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

Esegue una query per determinare se una proprietà di ambiente specificata è disponibile nell'ambito corrente.Queries whether a specified ambient property is available in the current scope.

(Ereditato da FrameworkTemplate)

Si applica a

Vedi anche