Como: Especificar a Fonte de Associação

Em vinculação de dados, a fonte da ligação objeto refere-se ao objeto que é obter os dados do. Este tópico descreve as diferentes maneiras de especificar o fonte da ligação.

Exemplo

Se você estiver associando várias propriedades a uma fonte comum, você deseja utilizar a propriedade DataContext, que oferece uma maneira conveniente para estabelecer um escopo dentro do qual todas as propriedades ligados a dados herdarão uma fonte comum.

No exemplo a seguir, o contexto de dados é estabelecido no elemento raiz do aplicativo. Isso permite que todos os elementos filhos herdem esse contexto de dados. Dados para a ligação provêm de uma classe personalizada de dados, NetIncome, referenciados diretamente através de um mapeamento e dada a chave de recurso de incomeDataSource.

Para o código completo do exemplo, veja Controlar a direção e o intervalo dos dados fluxo de exemplo.

<Grid
  xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="SDKSample.DirectionalBinding"
  xmlns:c="clr-namespace:SDKSample"
  Name="Page1"
>
  <Grid.Resources>
    <c:NetIncome x:Key="incomeDataSource"/>
    <Style TargetType="{x:Type TextBlock}">
      <Setter Property="Padding" Value="8"/>
    </Style>
    <Style TargetType="{x:Type TextBox}">
      <Setter Property="Margin" Value="0,6,0,0"/>
    </Style>
  </Grid.Resources>
  <Grid.DataContext>
    <Binding Source="{StaticResource incomeDataSource}"/>
  </Grid.DataContext>


...


</Grid>
ObservaçãoObservação:

O exemplo acima instancia o objeto na marcação e utiliza-o como um recurso. Se você desejar vincular a um objeto que já tenha sido instanciado no código, você precisará definir a propriedade DataContext programaticamente. Para um exemplo, consulte Como: Make Data Available for Binding in XAML.

Como alternativa, se você desejar especificar a fonte em suas ligações individuais explicitamente, você tem as seguintes opções. Eles têm precedência sobre o contexto de dados herdado.

Propriedade

Descrição

Source

Você usa essa propriedade para definir a origem para uma instância de um objeto. Se você não precisar da funcionalidade de estabelecer um escopo no qual diversas propriedades herdam o mesmo contexto de dados, você pode utilizar a propriedade Source em vez da propriedade DataContext. Para obter mais informações, consulte Source.

RelativeSource

Isso é útil quando você deseja especificar fonte em relação a onde seu destino de vinculação is. Alguns cenários comuns onde você pode utilizar essa propriedade é quando você deseja associar uma propriedade do seu elemento a outra propriedade do mesmo elemento ou se você estiver definindo uma associação em um estilo ou um modelo. Para obter mais informações, consulte RelativeSource.

ElementName

Você especifica uma sequência de caracteres que representa o elemento ao qual você deseja associar. Isso é útil quando você deseja associar à propriedade de outro elemento em seu aplicativo. Por exemplo, se você desejar usar um Slider para controlar a altura de outro controle em seu aplicativo, ou se você deseja associar o Content do seu controle para a propriedade SelectedValue do seu controle ListBox. Para obter mais informações, consulte ElementName.

Consulte também

Tarefas

Controlar a direção e o intervalo dos dados fluxo de exemplo

Conceitos

Herança de Valor de Propriedade

Revisão de Associação de Dados

Resumo de Declaração de Associações

Referência

FrameworkElement.DataContext

FrameworkContentElement.DataContext

Outros recursos

Exemplos de ligação de dados

Data Binding How-to Topics