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