FrameworkElement.DataContext Propriedade

Definição

Obtém ou define o contexto de dados para um elemento quando este participa na ligaçã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 de Propriedade

O objeto a usar como contexto de dados.

Atributos

Exemplos

O exemplo seguinte ilustra como um contexto de dados atua numa ligação e fornece a informação que define os valores específicos das propriedades vinculadas.

<Window.Resources>
  <src:LeagueList x:Key="MyList" />
</Window.Resources>
<DockPanel DataContext="{Binding Source={StaticResource MyList}}">

Observações

O contexto de dados é um conceito que permite aos elementos herdar informação dos seus elementos pais sobre a fonte de dados utilizada para a ligação, bem como outras características da ligação, como o caminho.

O contexto de dados pode ser definido diretamente para um objeto .NET, com as ligações a avaliarem as propriedades desse objeto. Alternativamente, podes definir o contexto dos dados para um DataSourceProvider objeto.

Esta propriedade de dependência herda os valores da propriedade. Se existirem elementos filhos sem outros valores estabelecidos DataContext através de valores ou estilos locais, então o sistema de propriedades definirá o valor para ser o DataContext valor do elemento pai mais próximo com este valor atribuído.

Em alternativa, pode usar uma das seguintes propriedades da Binding classe para especificar explicitamente a fonte de ligação:

- <xref:System.Windows.Data.Binding.ElementName*>.
- <xref:System.Windows.Data.Binding.Source*>.
- <xref:System.Windows.Data.Binding.RelativeSource*>.

Para mais informações, veja Como: Especificar a Fonte de Ligação.

Em XAML, DataContext é mais tipicamente definido como uma Binding declaração. Pode usar sintaxe de elementos de propriedade ou de atributos. A sintaxe dos atributos é mostrada no exemplo desta página. Também pode usar código para definir DataContext.

DataContext é uma propriedade vinculável para facilitar cenários onde um contexto pode estar ligado a outro. No entanto, se atribuir a DataContext, tenha cuidado para não criar referências circulares de ligação (não associe a DataContext a a si próprio, o que é possível devido à natureza DataContext de herança do valor do imóvel da propriedade).

Uso do elemento de propriedade XAML

<object>
  <object.DataContext>
    <dataContextObject />
  </object.DataContext>
</object>

Uso de atributos XAML

<object DataContext="bindingUsage"/>

-ou-

<object DataContext="{resourceExtension contextResourceKey}"/>

Valores XAML

dataContextObject Um objeto diretamente embutido que serve como contexto de dados para quaisquer ligações dentro do elemento pai. Normalmente, este objeto é uma Binding ou outra BindingBase classe derivada. Alternativamente, podem ser colocados aqui dados brutos de qualquer tipo de objeto destinado a ligação, com as ligações reais definidas posteriormente.

bindingUtilização Um uso de binding que avalia para um contexto de dados apropriado. Para mais detalhes, veja Binding Markup Extension.

resourceExtension Um dos seguintes: StaticResource ou DynamicResource. Esta utilização é usada ao referir-se a dados brutos definidos como um objeto em recursos. Consulte Recursos XAML.

contextResourceKey O identificador de chave para o objeto solicitado dentro de um ResourceDictionary.

Informação de Propriedade de Dependência

Iteme Value
Campo identificador DataContextProperty
Propriedades dos metadados definidas como true Inherits

Aplica-se a