DataTemplate Classe

Definição

Descreve a estrutura visual de um objeto de dados.

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
Herança
Derivado
Atributos

Exemplos

O exemplo seguinte mostra como criar um DataTemplate inline. Especifica DataTemplate que cada elemento de dados aparece como três TextBlock elementos dentro de um StackPanel. Neste exemplo, o objeto de dados é uma classe chamada Task. Note que cada TextBlock elemento neste modelo está ligado a uma propriedade da 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>

É mais comum definir a DataTemplate na secção de recursos para que possa ser um objeto reutilizável, como no seguinte exemplo:

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

Agora você pode usar myTaskTemplate como um recurso, como no exemplo a seguir:

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

Para obter o exemplo completo, consulte Introdução ao exemplo de modelagem de dados.

Observações

Usas a DataTemplate para especificar a visualização dos teus objetos de dados. DataTemplate Os objetos são particularmente úteis quando está a vincular um ItemsControl , como A ListBox , a uma coleção inteira. Sem instruções específicas, a ListBox apresenta a representação da cadeia de caracteres dos objetos numa coleção. Nesse caso, pode usar a DataTemplate para definir a aparência dos seus objetos de dados. O conteúdo de Your DataTemplate torna-se a estrutura visual dos teus objetos de dados.

Para uma discussão aprofundada, consulte Visão Geral sobre Modelos de Dados.

Construtores

Name Description
DataTemplate()

Inicializa uma nova instância da DataTemplate classe.

DataTemplate(Object)

Inicializa uma nova instância da DataTemplate classe com a propriedade especificada DataType .

Propriedades

Name Description
DataTemplateKey

Obtém a chave padrão do DataTemplate.

DataType

Obtém ou define o tipo para o qual isto DataTemplate se destina.

Dispatcher

Percebe o Dispatcher que isto DispatcherObject está associado.

(Herdado de DispatcherObject)
HasContent

Recebe um valor que indica se este modelo tem conteúdo otimizado.

(Herdado de FrameworkTemplate)
IsSealed

Obtém um valor que indica se este objeto está num estado imutável, pelo que não pode ser alterado.

(Herdado de FrameworkTemplate)
Resources

Obtém ou define a coleção de recursos que podem ser usados dentro do âmbito deste modelo.

(Herdado de FrameworkTemplate)
Template

Obtém ou define uma referência ao objeto que grava ou reproduz os nós XAML do template quando o template é definido ou aplicado por um escritor.

(Herdado de FrameworkTemplate)
Triggers

Recebe um conjunto de gatilhos que aplicam valores de propriedade ou realizam ações baseadas numa ou mais condições.

VisualTree

Obtém ou define o nó raiz do template.

(Herdado de FrameworkTemplate)

Métodos

Name Description
CheckAccess()

Determina se o thread que chama tem acesso a este DispatcherObject.

(Herdado de DispatcherObject)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FindName(String, FrameworkElement)

Encontra o elemento associado ao nome especificado definido neste modelo.

(Herdado de FrameworkTemplate)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadContent()

Carrega o conteúdo do template como uma instância de um objeto e devolve o elemento raiz do conteúdo.

(Herdado de FrameworkTemplate)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
RegisterName(String, Object)

Regista um novo par nome/objeto no âmbito de nomes atual.

(Herdado de FrameworkTemplate)
Seal()

Bloqueia o modelo para que não possa ser alterado.

(Herdado de FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager)

Devolve um valor que indica se os processos de serialização devem serializar o valor da Resources propriedade em instâncias desta classe.

(Herdado de FrameworkTemplate)
ShouldSerializeVisualTree()

Devolve um valor que indica se os processos de serialização devem serializar o valor da VisualTree propriedade em instâncias desta classe.

(Herdado de FrameworkTemplate)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
UnregisterName(String)

Remove um mapeamento nome/objeto do namescope XAML.

(Herdado de FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement)

Verifica o pai template em relação a um conjunto de regras.

VerifyAccess()

Faz cumprir que o thread que chama tem acesso a este DispatcherObject.

(Herdado de DispatcherObject)

Implementações de Interface Explícita

Name Description
INameScope.FindName(String)

Devolve um objeto que tem o nome identificativo fornecido.

(Herdado de FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

Consulta se uma propriedade ambiente especificada está disponível no âmbito atual.

(Herdado de FrameworkTemplate)

Aplica-se a

Ver também