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 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
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 |
DispatcherQueue |
Obtém o |
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 |
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