Partilhar via


FrameworkElement.SetBinding(DependencyProperty, BindingBase) Método

Definição

Anexa uma associação a um FrameworkElement, usando o objeto de associação fornecido.

void SetBinding(DependencyProperty const& dp, BindingBase const& binding);
public void SetBinding(DependencyProperty dp, BindingBase binding);
function setBinding(dp, binding)
Public Sub SetBinding (dp As DependencyProperty, binding As BindingBase)

Parâmetros

dp
DependencyProperty

O identificador de propriedade de dependência da propriedade associada a dados.

binding
BindingBase

A associação a ser usada para a propriedade .

Exemplos

Este exemplo estabelece uma associação a uma propriedade de dependência em um objeto chamando SetBinding.

// Create the source string.
string s = "Hello";

// Create the binding description.
Binding b = new Binding();
b.Mode = BindingMode.OneTime;
b.Source = s;

// Attach the binding to the target.
TextBlock MyText = new TextBlock();
MyText.SetBinding(TextBlock.TextProperty, b);
'Create the source string 
Dim s As String = "Hello"

'Create the binding description 
Dim b As New Binding()
b.Mode = BindingMode.OneTime
b.Source = s

'Attach the binding to the target 
Dim MyText As New TextBlock()
MyText.SetBinding(TextBlock.TextProperty, b)

Comentários

Esse método é um método de conveniência que chama BindingOperations.SetBinding, passando a instância atual como o parâmetro de destino .

O tipo do parâmetro de associação é BindingBase por motivos de compatibilidade, mas no Windows Runtime você sempre passa uma instância de Associação. A associação é derivada de BindingBase.

O parâmetro dp usa um identificador de propriedade de dependência. Para obter mais informações sobre propriedades de dependência e como um valor DependencyProperty serve como o identificador, consulte Visão geral das propriedades de dependência.

Você pode associar a propriedades de dependência personalizadas ou propriedades anexadas personalizadas, o identificador que você passa, pois o parâmetro dp não precisa ser um Windows Runtime propriedade definida.

Se uma associação criada com base no código poderá usar um contexto de dados em ação depende de considerações sobre o tempo de vida do objeto. Por exemplo, um valor DataContext definido de XAML não estará disponível até que o XAML seja analisado. Nesse caso, talvez você queira usar um manipulador Loaded para adicionar associações do código.

Observação

Chamar o método SetBinding e passar um novo objeto Binding não necessariamente removerá uma associação existente. Em vez disso, você deve primeiro chamar o método DependencyObject.ClearValue e, em seguida, chamar SetBinding.

Associação a propriedades anexadas

Você pode colocar associações de dados em todas as propriedades anexadas compatíveis com um objeto de destino. Tecnicamente, um DependencyObject dá suporte a todas as propriedades anexadas possíveis, mas você normalmente definiria apenas uma associação em uma propriedade anexada relevante para esse objeto ou seu cenário. Por exemplo, você definiria uma associação em Grid.Row somente se antecipasse que o elemento de destino tem um pai grid que usará essas informações. Especifique o parâmetro dp como o identificador de propriedade de dependência existente na classe de proprietário da propriedade anexada (para o exemplo Grid.Row , esse identificador é Grid.RowProperty). Você não encontrará esse identificador no destino porque ele é uma propriedade anexada. Para obter mais informações sobre propriedades anexadas, consulte Visão geral das propriedades anexadas.

Aplica-se a

Confira também