Binding Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- Atributos
Exemplos
O exemplo de código a seguir demonstra como criar uma associação em 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 Binding como uma única cadeia de caracteres de atributo em XAML, incluindo a configuração de propriedades binding como Path e Source. Para obter mais informações sobre conceitos de associação de dados, consulte Associação de dados em detalhes.
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 subpropósia em um objeto de dados, defina a propriedade Path do objeto Binding. Para obter mais informações sobre como definir Path 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 DependencyObject.ClearValue(DependencyProperty) método .
Para obter mais informações sobre o uso do atributo XAML para propriedades que podem usar uma Associação ou que, de outra forma, podem ser definidas como um valor associado a dados, consulte Extensão de marcação {Binding}.
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 converter . |
Dispatcher |
Sempre retorna |
DispatcherQueue |
Obtém o ao |
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 associaçã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 nessa 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
- Vinculação de dados em detalhes
- Visão geral das propriedades de dependência
- Sintaxe de Property-path