FrameworkElement.DataContext Propriedade
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.
Obtém ou define o contexto de dados de um elemento quando ele participa da associação de dados.
public:
property System::Object ^ DataContext { System::Object ^ get(); void set(System::Object ^ value); };
[System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)]
public object DataContext { get; set; }
[<System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)>]
member this.DataContext : obj with get, set
Public Property DataContext As Object
Valor da propriedade
O objeto a ser usado como contexto de dados.
- Atributos
Exemplos
O exemplo a seguir ilustra como um contexto de dados age em uma associação e fornece as informações que definem os valores específicos das propriedades associadas.
<Window.Resources>
<src:LeagueList x:Key="MyList" />
</Window.Resources>
<DockPanel DataContext="{Binding Source={StaticResource MyList}}">
Comentários
O contexto de dados é um conceito que permite que os elementos herdem informações de seus elementos pai sobre a fonte de dados usada para associação, bem como outras características da associação, como o caminho.
O contexto de dados pode ser definido diretamente para um objeto .NET, com as associações avaliando as propriedades desse objeto. Como alternativa, você pode definir o contexto de dados para um DataSourceProvider objeto.
Essa propriedade de dependência herda valores de propriedade. Se houver elementos filho sem outros valores para DataContext estabelecidos por meio de valores ou estilos locais, o sistema de propriedades definirá o valor como o DataContext valor do elemento pai mais próximo com esse valor atribuído.
Como alternativa, você pode usar uma das seguintes propriedades da Binding classe para especificar a fonte de associação explicitamente:
- <xref:System.Windows.Data.Binding.ElementName%2A>.
- <xref:System.Windows.Data.Binding.Source%2A>.
- <xref:System.Windows.Data.Binding.RelativeSource%2A>.
Para obter mais informações, consulte Como especificar a origem da associação.
No XAML, DataContext normalmente é definido como uma Binding declaração. Você pode usar a sintaxe do elemento de propriedade ou a sintaxe de atributo. A sintaxe do atributo é mostrada no exemplo nesta página. Você também pode usar o código para definir DataContext.
DataContext é uma propriedade associável para facilitar cenários em que um contexto pode estar associado a outro. No entanto, se você associar, DataContexttenha cuidado para não criar referências de associação circular (não associe a DataContext si mesmo, o que é possível fazer devido à natureza da herança do valor da DataContext propriedade).
Uso do elemento de propriedade XAML
<object>
<object.DataContext>
<dataContextObject />
</object.DataContext>
</object>
Uso do atributo XAML
<object DataContext="bindingUsage"/>
- ou -
<object DataContext="{resourceExtension contextResourceKey}"/>
Valores XAML
dataContextObject Um objeto inserido diretamente que serve como contexto de dados para qualquer associação dentro do elemento pai. Normalmente, esse objeto é uma Binding ou outra BindingBase classe derivada. Como alternativa, os dados brutos de qualquer tipo de objeto destinado à associação podem ser colocados aqui, com as associações reais definidas posteriormente.
bindingUsage Um uso de associação que é avaliado como um contexto de dados apropriado. Para obter detalhes, consulte a Extensão de Marcação de Associação.
resourceExtension Um dos seguintes: StaticResource ou DynamicResource. Esse uso é usado ao fazer referência a dados brutos definidos como um objeto em recursos. Consulte recursos XAML.
contextResourceKey O identificador de chave para o objeto que está sendo solicitado de dentro de um ResourceDictionary.
Informações da propriedade Dependency
| Item | Valor |
|---|---|
| Campo identificador | DataContextProperty |
Propriedades de metadados definidas como true |
Inherits |