Partilhar 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(Microsoft.UI.Xaml.WinUIContract, 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(Microsoft.UI.Xaml.WinUIContract), 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

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

Comentários

A extensão de marcação {Binding} permite que você especifique um valor de associação como uma única cadeia de caracteres de atributo no XAML, incluindo a definição de propriedades de associação, como Path e Source. 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 a uma sub-propriedade 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 no XAML, consulte de 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.

Nota

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 Microsoft.UI.Xaml.DependencyObject.ClearValue .

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

A propriedade que é o destino de uma associação de dados deve ser uma propriedade de dependência. Para obter mais informações, consulte visão geral das propriedades de dependência.

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 conversor de .

ConverterParameter

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

Dispatcher

Sempre retorna null em um aplicativo do SDK de Aplicativo do Windows. Use DispatcherQueue.

(Herdado de DependencyObject)
DispatcherQueue

Obtém o DispatcherQueue ao qual esse objeto está associado. O DispatcherQueue representa uma instalação que pode acessar o 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 fonte de associação do Binding.

FallbackValue

Obtém ou define o valor a ser usado quando a associação não pode 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 de associação.

RelativeSource

Obtém ou define a origem da associação especificando seu local em relação à posição do destino de associação. Isso é usado com mais frequência em associações dentro de 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 em 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 ouvir alterações em um dependencyProperty específico 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

  • <xref:Microsoft.UI.Xaml.Data.BindingOperations.SetBinding(Microsoft.UI.Xaml.DependencyObject%2cMicrosoft.UI.Xaml.DependencyProperty%2cMicrosoft.UI.Xaml.Data.BindingBase)%0a(bindingoperations_setbinding_746099660.md)>
  • exemplo de associação de dados XAML
  • associação de dados detalhadamente
  • Visão geral das propriedades de dependência
  • de sintaxe de caminho de propriedade