DataTemplate DataTemplate DataTemplate DataTemplate Class

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
type DataTemplate = class
    inherit FrameworkTemplate
Public Class DataTemplate
Inherits FrameworkTemplate
Ereditarietà
Derivato
Attributi

Esempi

Nell'esempio seguente viene illustrato come creare un DataTemplate inline.The following example shows how to create a DataTemplate inline. Il DataTemplate specifica che ogni elemento di dati viene visualizzato come tre TextBlock gli elementi all'interno di un 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à del 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 per definire un DataTemplate nella sezione delle risorse, pertanto può 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

Si utilizza un 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 ItemsControl , ad esempio un ListBox a un'intera raccolta.DataTemplate objects are particularly useful when you are binding an ItemsControl such as a ListBox to an entire collection. Senza istruzioni specifiche, un 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 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 di DataTemplate diventa la struttura visiva degli oggetti dati.The content of your DataTemplate becomes the visual structure of your data objects.

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

Costruttori

DataTemplate() DataTemplate() DataTemplate() DataTemplate()

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

DataTemplate(Object) DataTemplate(Object) DataTemplate(Object) 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 DataTemplateKey DataTemplateKey DataTemplateKey

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

DataType DataType DataType DataType

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

Dispatcher Dispatcher Dispatcher Dispatcher

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

(Inherited from DispatcherObject)
HasContent HasContent HasContent 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.

(Inherited from FrameworkTemplate)
ISealable.CanSeal ISealable.CanSeal ISealable.CanSeal ISealable.CanSeal Inherited from FrameworkTemplate
ISealable.IsSealed ISealable.IsSealed ISealable.IsSealed ISealable.IsSealed Inherited from FrameworkTemplate
IsSealed IsSealed IsSealed 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.

(Inherited from FrameworkTemplate)
Resources Resources Resources 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.

(Inherited from FrameworkTemplate)
Template Template Template 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.

(Inherited from FrameworkTemplate)
Triggers Triggers Triggers 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 VisualTree VisualTree VisualTree

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

(Inherited from FrameworkTemplate)

Metodi

CheckAccess() CheckAccess() CheckAccess() CheckAccess()

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

(Inherited from DispatcherObject)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
FindName(String, FrameworkElement) FindName(String, FrameworkElement) FindName(String, FrameworkElement) FindName(String, FrameworkElement)

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

(Inherited from FrameworkTemplate)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
LoadContent() LoadContent() LoadContent() 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.

(Inherited from FrameworkTemplate)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
RegisterName(String, Object) RegisterName(String, Object) RegisterName(String, Object) RegisterName(String, Object)

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

(Inherited from FrameworkTemplate)
Seal() Seal() Seal() Seal()

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

(Inherited from FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager) ShouldSerializeResources(XamlDesignerSerializationManager) ShouldSerializeResources(XamlDesignerSerializationManager) 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.

(Inherited from FrameworkTemplate)
ShouldSerializeVisualTree() ShouldSerializeVisualTree() ShouldSerializeVisualTree() 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.

(Inherited from FrameworkTemplate)
ToString() ToString() ToString() ToString()

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

(Inherited from Object)
UnregisterName(String) UnregisterName(String) UnregisterName(String) UnregisterName(String)

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

(Inherited from FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement) ValidateTemplatedParent(FrameworkElement) ValidateTemplatedParent(FrameworkElement) ValidateTemplatedParent(FrameworkElement)

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

VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

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

(Inherited from DispatcherObject)

Implementazioni dell'interfaccia esplicita

INameScope.FindName(String) INameScope.FindName(String) INameScope.FindName(String) INameScope.FindName(String)

Restituisce un oggetto che ha il nome identificativo fornito.Returns an object that has the provided identifying name.

(Inherited from FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String) 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.

(Inherited from FrameworkTemplate)
ISealable.Seal() ISealable.Seal() ISealable.Seal() ISealable.Seal() Inherited from FrameworkTemplate

Si applica a

Vedi anche