DataTemplate Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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) |