Compartilhar via


Binding Classe

Definição

Define uma associação que conecta as propriedades de destinos de associação e fontes de dados.

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Binding : BindingBase
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class Binding : BindingBase
Public Class Binding
Inherits BindingBase
<Binding .../>
- or -
<dependencyobject dependencyproperty="{Binding bindingArgs}" />
Herança
Object IInspectable DependencyObject BindingBase Binding
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)

Exemplos

O exemplo de código a seguir demonstra como criar uma associação no XAML. Para obter a listagem de código completa, consulte o exemplo de associação de dados XAML.

<StackPanel Margin="5">

  <TextBlock Text="Name:" Style="{StaticResource DescriptionTextStyle}" 
    Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

  <TextBox Text="{Binding Path=Name, Mode=TwoWay}" 
    Width="350" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

  <TextBlock Text="Organization:" Style="{StaticResource DescriptionTextStyle}" 
    Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

  <!-- You can omit the 'Path=' portion of the binding expression. --> 
  <TextBox Text="{Binding Organization, Mode=TwoWay}" Width="350" 
    Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

</StackPanel>

O código de exemplo a seguir demonstra como criar uma associação no código.

// 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.
String^ s = ref new String(L"Hello");

// Create the binding description.
Binding^ b = ref new Binding();
b->Mode = BindingMode::OneTime;
b->Source = s;

// Attach the binding to the target.
TextBlock^ MyText = ref new TextBlock();
MyText->SetBinding(MyText->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

A extensão de marcação {Binding} permite que você especifique um valor Binding como uma única cadeia de caracteres de atributo em XAML, incluindo a configuração de propriedades de associação, como Caminho e Origem. Para obter mais informações sobre conceitos de associação de dados, consulte Associação de dados detalhadamente.

A classe Binding pode ser considerada a exposição code-behind da extensão de marcação {Binding}. Se uma associação já estiver aplicada a um destino (o que acontece quando o XAML é carregado), você não poderá definir as propriedades de leitura-gravação de um objeto Binding para alterar como uma associação se comporta em tempo de execução. Qualquer associação definida por XAML deve ser considerada imutável. Mas você pode criar um novo objeto Binding, definir suas propriedades e estabelecer uma nova associação em um destino de elemento de interface do usuário específico usando FrameworkElement.SetBinding. Para obter mais informações, consulte Criando associações no código.

Um objeto Binding conecta uma propriedade de dependência de um FrameworkElement diretamente a um objeto de dados para que as atualizações para o objeto de dados sejam propagadas automaticamente para a propriedade que usa a associação de dados. A classe Binding define as propriedades de uma associação. Cada associação deve ter um elemento de destino, uma propriedade de destino e uma fonte de dados, embora alguns valores sejam fornecidos por padrão se você não especificá-los.

Para associar a uma propriedade ou uma subpropósitório em um objeto de dados, defina a propriedade Path do objeto Binding. Para obter mais informações sobre como definir Caminho no código ou em XAML, consulte Sintaxe de caminho de propriedade ou extensão de marcação {Binding}.

Você pode aplicar uma instância de uma classe Binding a vários destinos. No entanto, você não pode modificar os valores de propriedade de um objeto Binding depois de anexá-lo a um elemento de destino.

Observação

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

Para obter mais informações sobre o uso do atributo XAML para propriedades que podem usar uma Associação ou que podem ser definidas como um valor associado a dados, consulte {Binding} extensão de marcação.

A propriedade alvo de uma vinculação de dados deve ser uma propriedade de dependência. Para obter mais informações, consulte Dependency properties overview.

Construtores

Binding()

Inicializa uma nova instância da classe Binding .

Propriedades

Converter

Obtém ou define o objeto conversor que é chamado pelo mecanismo de associação para modificar os dados conforme eles são passados entre a origem e o destino, ou vice-versa.

ConverterLanguage

Obtém ou define um valor que nomeia o idioma a ser passado para qualquer conversor especificado pela propriedade Converter .

ConverterParameter

Obtém ou define um parâmetro que pode ser usado na lógica conversor .

Dispatcher

Obtém o CoreDispatcher ao qual esse objeto está associado. O CoreDispatcher representa uma instalação que pode acessar DependencyObject no thread da interface do usuário mesmo que o código seja iniciado por um thread que não seja da interface do usuário.

(Herdado de DependencyObject)
ElementName

Obtém ou define o nome do elemento a ser usado como a origem da associação para a Associação.

FallbackValue

Obtém ou define o valor a ser usado quando a associação não é capaz de retornar um valor.

Mode

Obtém ou define um valor que indica a direção do fluxo de dados na associação.

Path

Obtém ou define o caminho para a propriedade de origem da associação.

RelativeSource

Obtém ou define a origem da associação, especificando seu local com relação à posição do destino da associação. Isso geralmente é usado em associações em modelos de controle XAML.

Source

Obtém ou define a fonte de dados para a associação.

TargetNullValue

Obtém ou define o valor usado no destino quando o valor da origem é nulo.

UpdateSourceTrigger

Obtém ou define um valor que determina o tempo de vinculação de atualizações de origem para associações bidirecionais.

Métodos

ClearValue(DependencyProperty)

Limpa o valor local de uma propriedade de dependência.

(Herdado de DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Retorna qualquer valor base estabelecido para uma propriedade de dependência, que se aplicaria nos casos em que uma animação não está ativa.

(Herdado de DependencyObject)
GetValue(DependencyProperty)

Retorna o valor efetivo atual de uma propriedade de dependência de um DependencyObject.

(Herdado de DependencyObject)
ReadLocalValue(DependencyProperty)

Retorna o valor local de uma propriedade de dependência, se um valor local for definido.

(Herdado de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra uma função de notificação para escutar alterações em uma DependencyProperty específica nesta instância dependencyObject .

(Herdado de DependencyObject)
SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência em um DependencyObject.

(Herdado de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Cancela uma notificação de alteração que foi registrada anteriormente chamando RegisterPropertyChangedCallback.

(Herdado de DependencyObject)

Aplica-se a

Confira também