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 da 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);

Comentários

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

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

O dp parâmetro 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 a 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 dp parâmetro não precisa ser uma propriedade Windows Runtime definida.

Se uma associação criada a partir do código será capaz de 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 Carregado para adicionar associações do código.

Note

Chamar o SetBinding método 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 quaisquer propriedades anexadas às quais um objeto de destino dá suporte. Tecnicamente, um DependencyObject dá suporte a todas as propriedades anexadas possíveis, mas você normalmente só definiria 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 que existe na classe de proprietário da propriedade anexada (por Grid.Row exemplo, 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 a visão geral das propriedades anexadas.

Aplica-se a

Confira também