Binding Classe

Definição

Fornece acesso de alto nível para a definição de uma associação, que conecta as propriedades de objetos de destino da associação (normalmente, elementos WPF) e qualquer fonte de dados (por exemplo, um banco de dados, um arquivo XML ou qualquer objeto que contém dados).

public ref class Binding : System::Windows::Data::BindingBase
public class Binding : System.Windows.Data.BindingBase
type Binding = class
    inherit BindingBase
Public Class Binding
Inherits BindingBase
Herança

Comentários

A associação de dados do WPF (Windows Presentation Foundation) fornece uma maneira simples e consistente para os aplicativos apresentarem e interagirem com os dados. A associação de dados permite sincronizar os valores das propriedades de dois objetos diferentes.

Para estabelecer uma associação, use a Binding classe ou uma das outras classes que herdam BindingBase. Independentemente do objeto que você está associando e da natureza da fonte de dados, cada associação segue o modelo ilustrado pela figura a seguir.

Diagrama de associação de dados básico

A figura demonstra os seguintes conceitos fundamentais de associação de dados do WPF.

  • Cada associação normalmente tem esses quatro componentes: um objeto de destino de associação, uma propriedade de destino, uma origem de associação e um Path para o valor na fonte de associação a ser usada. Por exemplo, se você quiser associar o conteúdo de um TextBox à propriedade Name de um objeto Employee, seu objeto de destino será o TextBox, a propriedade de destino será a Text propriedade , o valor a ser usado será Name e o objeto de origem será o objeto Employee.

  • A propriedade de destino deve ser uma propriedade de dependência. Isso também significa que você não pode associar um campo. A maioria das propriedades de objetos são propriedades de UIElement dependência e a maioria das propriedades de dependência, exceto as somente leitura, dão suporte à associação de dados por padrão. (Somente DependencyObject os tipos podem definir propriedades de dependência e todos os UIElement objetos derivam de DependencyObject.)

  • Embora não seja especificado na figura, deve-se observar que o objeto de origem de associação não está restrito a ser um objeto CLR personalizado. A associação de dados do WPF dá suporte a dados na forma de objetos CLR e XML. Para fornecer alguns exemplos, sua fonte de associação pode ser um UIElement, qualquer objeto de lista, um objeto CLR associado a dados ADO.NET ou Serviços Web ou um XmlNode que contém seus dados XML.

Use a Mode propriedade para especificar a direção do fluxo de dados. Para detectar alterações de origem em associações unidirecionais ou bidirecionais, a origem deve implementar um mecanismo de notificação de alteração de propriedade adequado, como INotifyPropertyChanged. Para obter um exemplo, consulte Como implementar a notificação de alteração de propriedade. A UpdateSourceTrigger propriedade especifica o tempo das atualizações de origem. Para obter mais informações, consulte "Conceitos básicos de associação de dados" em Visão geral da associação de dados.

Uso do Atributo XAML

<object property="{Binding  declaration}"/>  

Valores XAML

declaration
Zero ou mais cláusulas de atribuição de atributo separadas por vírgulas (,). Para obter mais informações, confira Visão geral da extensão de marcação de associação ou declarações de associação.

Construtores

Binding()

Inicializa uma nova instância da classe Binding.

Binding(String)

Inicializa uma nova instância da classe Binding com um caminho inicial.

Campos

DoNothing

Usado como um valor retornado para instruir o mecanismo de associação a não executar nenhuma ação.

IndexerName

Usado como o PropertyName de PropertyChangedEventArgs para indicar que uma propriedade do indexador foi alterada.

SourceUpdatedEvent

Identifica o evento SourceUpdated anexado.

TargetUpdatedEvent

Identifica o evento TargetUpdated anexado.

XmlNamespaceManagerProperty

Identifica a propriedade XmlNamespaceManager anexada.

Propriedades

AsyncState

Obtém ou define dados opacos passados para o dispatcher de dados assíncronos.

BindingGroupName

Obtém ou define o nome do BindingGroup ao qual esta associação pertence.

(Herdado de BindingBase)
BindsDirectlyToSource

Obtém ou define um valor que indica se é necessário avaliar o Path relativo ao item de dados ou o objeto DataSourceProvider.

Converter

Obtém ou define o conversor a ser usado.

ConverterCulture

Obtém ou define a cultura na qual o conversor será avaliado.

ConverterParameter

Obtém ou define o parâmetro a ser passado para o Converter.

Delay

Obtém ou define a quantidade de tempo, em milissegundos, de espera antes de atualizar a origem da associação após o valor das alterações de destino.

(Herdado de BindingBase)
ElementName

Obtém ou define o nome do elemento a ser usado como o objeto de origem de associação.

FallbackValue

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

(Herdado de BindingBase)
IsAsync

Obtém ou define um valor que indica se o Binding deve obter e definir valores de forma assíncrona.

Mode

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

NotifyOnSourceUpdated

Obtém ou define um valor que indica se o evento SourceUpdated deve ser gerado quando um valor é transferido do destino da associação para a origem da associação.

NotifyOnTargetUpdated

Obtém ou define um valor que indica se o evento TargetUpdated deve ser gerado quando um valor é transferido da origem de associação para o destino de associação.

NotifyOnValidationError

Obtém ou define um valor que indica se o evento anexado Error no objeto associado deve ser gerado.

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.

Source

Obtém ou define o objeto a ser usado como a origem da associação.

StringFormat

Obtém ou define uma cadeia de caracteres que especifica como formatar a associação se ela exibir o valor associado como uma cadeia de caracteres.

(Herdado de BindingBase)
TargetNullValue

Obtém ou define o valor que é usado no destino quando o valor da fonte é null.

(Herdado de BindingBase)
UpdateSourceExceptionFilter

Obtém ou define um manipulador que você pode usar para fornecer lógica personalizada para lidar com exceções que o mecanismo de associação encontra durante a atualização do valor de origem da associação. Isso será aplicável somente se você tiver associado um ExceptionValidationRule à associação.

UpdateSourceTrigger

Obtém ou define um valor que determina o intervalo das atualizações da origem de associação.

ValidatesOnDataErrors

Obtém ou define um valor que indica se a DataErrorValidationRule deve ser incluída.

ValidatesOnExceptions

Obtém ou define um valor que indica se a ExceptionValidationRule deve ser incluída.

ValidatesOnNotifyDataErrors

Obtém ou define um valor que indica se a NotifyDataErrorValidationRule deve ser incluída.

ValidationRules

Obtém uma coleção de regras que verificam a validade da entrada do usuário.

XPath

Obtém ou define uma XPath consulta que retorna o valor na fonte de associação XML a ser usada.

Propriedades Anexadas

XmlNamespaceManager

Obtém ou define o XmlNamespaceManager usado para executar consultas XPath com reconhecimento de namespace nas associações de XML.

Métodos

AddSourceUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Adiciona um manipulador ao evento anexado SourceUpdated.

AddTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Adiciona um manipulador ao evento anexado TargetUpdated.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetXmlNamespaceManager(DependencyObject)

Retorna um objeto gerenciador de namespace XML usado pela associação anexada ao objeto especificado.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ProvideValue(IServiceProvider)

Retorna um objeto que deve ser definido na propriedade em que essa associação e extensão são aplicadas.

(Herdado de BindingBase)
RemoveSourceUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Remove um manipulador para o evento anexado SourceUpdated.

RemoveTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Remove um manipulador para o evento anexado TargetUpdated.

SetXmlNamespaceManager(DependencyObject, XmlNamespaceManager)

Define um objeto do gerenciador de namespace usado pela associação anexada ao objeto fornecido.

ShouldSerializeFallbackValue()

Retorna um valor que indica se o processo de serialização deve serializar o valor efetivo da propriedade FallbackValue em instâncias desta classe.

(Herdado de BindingBase)
ShouldSerializePath()

Indica se a propriedade Path deve ser persistente.

ShouldSerializeSource()

Indica se a propriedade Source deve ser persistente.

ShouldSerializeTargetNullValue()

Retorna um valor que indica se a propriedade TargetNullValue deve ser serializada.

(Herdado de BindingBase)
ShouldSerializeValidationRules()

Indica se a propriedade ValidationRules deve ser persistente.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Eventos Anexados

SourceUpdated

Ocorre quando um valor é transferido do destino da associação para a origem da associação, mas apenas para associações com o valor NotifyOnSourceUpdated definido como true.

TargetUpdated

Ocorre quando um valor é transferido da origem da associação para o destino da associação, mas apenas para associações com o valor NotifyOnTargetUpdated definido como true.

Aplica-se a

Confira também