DataTemplate Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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) |