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çã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 |
---|---|
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. |
|
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. |
|
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
FrameworkContentElement.DataContext