Compartilhar via


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 a seguir mostra como criar um DataTemplate embutido. Especifica DataTemplate que cada item de dados aparece como três TextBlock elementos dentro de um StackPanel. Neste exemplo, o objeto de dados é uma classe chamada Task. Observe que cada TextBlock elemento neste modelo está associado 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 uma DataTemplate seção de recursos para que possa ser um objeto reutilizável, como no exemplo a seguir:

<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, é possível usar o myTaskTemplate como recurso, como no exemplo a seguir:

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

Para ver a amostra completa, consulte Amostra da introdução à modelagem de dados.

Comentários

Você usa um DataTemplate para especificar a visualização de seus objetos de dados. DataTemplate os objetos são particularmente úteis quando você está associando um ItemsControl tal a uma ListBox coleção inteira. Sem instruções específicas, um ListBox exibe a representação de cadeia de caracteres dos objetos em uma coleção. Nesse caso, você pode usar um DataTemplate para definir a aparência de seus objetos de dados. O conteúdo do seu DataTemplate se torna a estrutura visual de seus objetos de dados.

Para obter uma discussão aprofundada, consulte a Visão geral do Data Templating.

Construtores

DataTemplate()

Inicializa uma nova instância da classe DataTemplate.

DataTemplate(Object)

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

Propriedades

DataTemplateKey

Obtém a chave padrão do DataTemplate.

DataType

Obtém ou define o tipo para o qual esse DataTemplate foi projetado.

Dispatcher

Obtém o Dispatcher ao qual este DispatcherObject está associado.

(Herdado de DispatcherObject)
HasContent

Obtém 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á em um estado imutável, de modo a não poder ser alterado.

(Herdado de FrameworkTemplate)
Resources

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

(Herdado de FrameworkTemplate)
Template

Obtém ou define uma referência ao objeto que registra ou reproduz os nós XAML para o modelo quando o modelo é definido ou aplicado por um gravador.

(Herdado de FrameworkTemplate)
Triggers

Obtém uma coleção de gatilhos que aplicam valores de propriedade ou executam ações com base em uma ou mais condições.

VisualTree

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

(Herdado de FrameworkTemplate)

Métodos

CheckAccess()

Determina se o thread de chamada 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)

Localiza o elemento associado ao nome especificado definido neste modelo.

(Herdado de FrameworkTemplate)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadContent()

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

(Herdado de FrameworkTemplate)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
RegisterName(String, Object)

Registra um novo par nome/objeto dentro do escopo de nome atual.

(Herdado de FrameworkTemplate)
Seal()

Bloqueia o modelo de modo que ele não pode ser alterado.

(Herdado de FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager)

Retorna um valor que indica se o processo de serialização deve serializar o valor da propriedade Resources em instâncias desta classe.

(Herdado de FrameworkTemplate)
ShouldSerializeVisualTree()

Retorna um valor que indica se o processo de serialização deve serializar o valor da propriedade VisualTree em instâncias desta classe.

(Herdado de FrameworkTemplate)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
UnregisterName(String)

Remove um mapeamento de nome/objeto do namescope XAML.

(Herdado de FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement)

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

VerifyAccess()

Impõe que o thread de chamada tenha acesso a este DispatcherObject.

(Herdado de DispatcherObject)

Implantações explícitas de interface

INameScope.FindName(String)

Retorna um objeto que tem o nome de identificação fornecido.

(Herdado de FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

Consulta se uma propriedade de ambiente especificada está disponível no escopo atual.

(Herdado de FrameworkTemplate)

Aplica-se a

Confira também