Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale
Questo argomento non è stato ancora valutato - Valuta questo argomento

Classe DataTemplate

Viene descritta la struttura visuale di un oggetto dati.

Spazio dei nomi:  System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS per XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
[DictionaryKeyPropertyAttribute("DataTemplateKey")]
public class DataTemplate : FrameworkTemplate
<DataTemplate>
  VisualTree
</DataTemplate>

Il tipo DataTemplate espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoDataTemplate()Inizializza una nuova istanza di DataTemplate classe.
Metodo pubblicoDataTemplate(Object)Inizializza una nuova istanza di DataTemplate classe con specificato DataType proprietà.
In alto
  NomeDescrizione
Proprietà pubblicaDataTemplateKeyOttiene la chiave predefinita di DataTemplate.
Proprietà pubblicaDataTypeottiene o imposta il tipo per il quale questo DataTemplate è previsto.
Proprietà pubblicaDispatcher ottiene l'oggetto Dispatcher al quale l'oggetto DispatcherObject è associato. (Ereditato da DispatcherObject)
Proprietà pubblicaHasContentOttiene un valore che indica se questo modello ottimizzato il contenuto. (Ereditato da FrameworkTemplate)
Proprietà pubblicaIsSealedOttiene un valore che indica se l'oggetto si trova in uno stato non modificabile in modo da non può essere modificato. (Ereditato da FrameworkTemplate)
Proprietà pubblicaResourcesOttiene o imposta l'esazione risorse che possono essere utilizzate con questo modello. (Ereditato da FrameworkTemplate)
Proprietà pubblicaTemplateOttiene o imposta un riferimento all'oggetto che record o riproduce i nodi XAML per il modello quando il modello viene definito o applicato da un writer. (Ereditato da FrameworkTemplate)
Proprietà pubblicaTriggersOttiene una raccolta di trigger che implementano i valori delle proprietà o eseguono azioni basate su uno o più condizioni.
Proprietà pubblicaVisualTreeOttiene o imposta il nodo radice del modello. (Ereditato da FrameworkTemplate)
In alto
  NomeDescrizione
Metodo pubblicoCheckAccessdetermina se il thread chiamante ha accesso a questo DispatcherObject. (Ereditato da DispatcherObject)
Metodo pubblicoEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo protettoFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoFindNameTrova l'elemento associato con il nome specificato definito nel modello. (Ereditato da FrameworkTemplate)
Metodo pubblicoGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoLoadContentCarica il contenuto del modello come istanza di un oggetto e restituisce l'elemento radice di contenuto. (Ereditato da FrameworkTemplate)
Metodo protettoMemberwiseCloneConsente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoRegisterNameRegistra una nuova coppia oggetto di nome/nell'ambito corrente del nome. (Ereditato da FrameworkTemplate)
Metodo pubblicoSealBlocca il modello in modo da non può essere modificato. (Ereditato da FrameworkTemplate)
Metodo pubblicoShouldSerializeResourcesRestituisce un valore che indica se i processi di serializzazione deve serializzare il valore di Resources proprietà nelle istanze di questa classe. (Ereditato da FrameworkTemplate)
Metodo pubblicoShouldSerializeVisualTreeRestituisce un valore che indica se i processi di serializzazione deve serializzare il valore di VisualTree proprietà nelle istanze di questa classe. (Ereditato da FrameworkTemplate)
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo pubblicoUnregisterNameRimuove un nome/oggetto che esegue il mapping dai NameScope XAML. (Ereditato da FrameworkTemplate)
Metodo protettoValidateTemplatedParentControlla il padre basato su modelli rispetto a un set di regole. (Esegue l'override di FrameworkTemplate.ValidateTemplatedParent(FrameworkElement)).
Metodo pubblicoVerifyAccess Impone che il thread chiamante abbia accesso a questo DispatcherObject. (Ereditato da DispatcherObject)
In alto
  NomeDescrizione
Implementazione esplicita dell'interfacciaMetodo privatoINameScope.FindNameInfrastruttura. Restituisce un oggetto con il nome di identificazione fornito. (Ereditato da FrameworkTemplate)
Implementazione esplicita dell'interfacciaMetodo privatoIQueryAmbient.IsAmbientPropertyAvailableEseguire una query se una proprietà di ambiente specificata è disponibile nell'ambito corrente. (Ereditato da FrameworkTemplate)
In alto

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

Per informazioni più dettagliate, vedere Cenni preliminari sui modelli di dati.

Nell'esempio seguente viene illustrato come creare un oggetto DataTemplate inline. DataTemplate specifica che ogni elemento dati venga 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 l'elemento in questo modello è associato a una proprietà di 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 per definire un oggetto DataTemplate nella sezione nelle risorse può essere un oggetto riutilizzabile, come nel seguente esempio:


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


Ora è possibile utilizzare myTaskTemplate come risorsa, come nel seguente esempio:


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


per l'esempio completo, vedere Introduzione ai modelli di dati.

.NET Framework

Supportato in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Qualsiasi membro pubblico static (Shared in Visual Basic) di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Il documento è risultato utile?
(1500 caratteri rimanenti)
Grazie per i commenti inviati.

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft. Tutti i diritti riservati.