Binding Classe

Definição

Fornece acesso de alto nível à definição de binding, que liga as propriedades dos objetos-alvo de binding (tipicamente, elementos WPF) e qualquer fonte de dados (por exemplo, uma base de dados, um ficheiro XML ou qualquer objeto que contenha 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

Observações

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

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

Diagrama básico de ligação de dados

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

  • Cada ligação tem tipicamente estes quatro componentes: um objeto alvo de ligação, uma propriedade alvo, uma fonte de ligação e a Path ao valor na fonte de ligação a usar. Por exemplo, se quiser vincular o conteúdo de a TextBox à propriedade Name de um objeto Employee, o seu objeto de destino é o TextBox, a propriedade de destino é a Text propriedade, o valor a usar é Name, e o objeto de origem é o objeto Employee.

  • A propriedade de destino deve ser uma propriedade de dependência. Isto também significa que não podes atribuir um campo. A maioria das propriedades dos UIElement objetos são propriedades de dependência e a maioria das propriedades de dependência, exceto as de apenas leitura, suporta ligação de dados por defeito. (Apenas DependencyObject os tipos podem definir propriedades de dependência e todos UIElement os objetos derivam de DependencyObject.)

  • Embora não especificado na figura, deve notar-se que o objeto fonte de ligação não está restrito a ser um objeto CLR personalizado. A ligação de dados WPF suporta dados sob a forma de objetos CLR e XML. Para dar alguns exemplos, a sua fonte de binding pode ser um UIElement, qualquer objeto de lista, um objeto CLR associado a ADO.NET dados ou Web Services, ou um XmlNode que contém os seus dados XML.

Use a Mode propriedade para especificar a direção do fluxo de dados. Para detetar alterações da fonte em ligações unidirecionais ou bidirecionais, a fonte deve implementar um mecanismo adequado de notificação de alteração de propriedade, como INotifyPropertyChanged. Para um exemplo, veja Como: Implementar a Notificação de Alteração de Propriedade. A UpdateSourceTrigger propriedade especifica o momento das atualizações de código-fonte. Para mais informações, consulte "Conceitos Básicos de Ligação de Dados" em Visão Geral sobre Ligação de Dados.

Uso de atributos XAML

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

Valores XAML

Declaração Zero ou mais cláusulas de atribuição de atributos separadas por vírgulas (,). Para mais informações, veja Extensão de Marcação de Vinculação ou Visão Geral de Declarações de Vinculação.

Construtores

Name Description
Binding()

Inicializa uma nova instância da Binding classe.

Binding(String)

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

Campos

Name Description
DoNothing

Usado como valor devolvido para instruir o motor de ligação a não realizar qualquer ação.

IndexerName

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

SourceUpdatedEvent

Identifica o SourceUpdated evento anexado.

TargetUpdatedEvent

Identifica o TargetUpdated evento anexado.

XmlNamespaceManagerProperty

Identifica a XmlNamespaceManager propriedade anexada.

Propriedades

Name Description
AsyncState

Recebe ou define dados opacos passados para o despachante de dados assíncronos.

BindingGroupName

Recebe ou define o nome do BindingGroup a que esta ligação pertence.

(Herdado de BindingBase)
BindsDirectlyToSource

Obtém ou define um valor que indica se deve avaliar o Path relativo ao elemento de dados ou ao DataSourceProvider objeto.

Converter

Obtém ou configuram o conversor para usar.

ConverterCulture

Obtém ou define a cultura para avaliar o conversor.

ConverterParameter

Obtém ou define o parâmetro para passar para o Converter.

Delay

Obtém ou define o tempo, em milissegundos, para esperar antes de atualizar a fonte de ligação após o valor no alvo mudar.

(Herdado de BindingBase)
ElementName

Obtém ou define o nome do elemento a usar como objeto fonte de ligação.

FallbackValue

Obtém ou define o valor a usar quando a ligação não consegue devolver um valor.

(Herdado de BindingBase)
IsAsync

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

Mode

Recebe ou define um valor que indica a direção do fluxo de dados na ligação.

NotifyOnSourceUpdated

Recebe ou define um valor que indica se deve aumentar o SourceUpdated evento quando um valor é transferido do alvo de ligação para a fonte de ligação.

NotifyOnTargetUpdated

Recebe ou define um valor que indica se deve levantar o TargetUpdated evento quando um valor é transferido da fonte de ligação para o destino de ligação.

NotifyOnValidationError

Recebe ou define um valor que indica se deve elevar o Error evento anexado no objeto vinculado.

Path

Obtém ou define o caminho para a propriedade de ligação da fonte.

RelativeSource

Obtém ou define a fonte de ligação especificando a sua localização em relação à posição do alvo de ligação.

Source

Obtém ou define o objeto para usar como fonte de ligação.

StringFormat

Recebe ou define uma cadeia que especifica como formatar a ligação se mostrar o valor da ligação como uma cadeia.

(Herdado de BindingBase)
TargetNullValue

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

(Herdado de BindingBase)
UpdateSourceExceptionFilter

Obtém ou define um handler que podes usar para fornecer lógica personalizada para lidar com exceções que o motor de binding encontra durante a atualização do valor da fonte de binding. Isto só se aplica se tiver associado um ExceptionValidationRule à sua encadernação.

UpdateSourceTrigger

Recebe ou define um valor que determina o momento de ligar as atualizações do código-fonte.

ValidatesOnDataErrors

Obtém ou define um valor que indica se deve incluir o DataErrorValidationRule.

ValidatesOnExceptions

Obtém ou define um valor que indica se deve incluir o ExceptionValidationRule.

ValidatesOnNotifyDataErrors

Obtém ou define um valor que indica se deve incluir o NotifyDataErrorValidationRule.

ValidationRules

Recebe um conjunto de regras que verificam a validade da entrada do utilizador.

XPath

Obtém ou define uma XPath consulta que devolve o valor na fonte de ligação XML para usar.

Propriedades Anexadas

Name Description
XmlNamespaceManager

Obtém ou define os XmlNamespaceManager usados para realizar consultas conscientes XPath do namespace em ligações XML.

Métodos

Name Description
AddSourceUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Adiciona um handler para o SourceUpdated evento anexado.

AddTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Adiciona um handler para o TargetUpdated evento anexado.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetXmlNamespaceManager(DependencyObject)

Devolve um objeto gestor de espaço de nomes XML usado pelo binding associado ao objeto especificado.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ProvideValue(IServiceProvider)

Devolve um objeto que deve ser definido na propriedade onde esta ligação e extensão são aplicadas.

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

Remove um handler para o SourceUpdated evento anexo.

RemoveTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Remove um handler para o TargetUpdated evento anexo.

SetXmlNamespaceManager(DependencyObject, XmlNamespaceManager)

Define um objeto gestor de espaço de nomes usado pelo binding associado ao elemento fornecido.

ShouldSerializeFallbackValue()

Devolve um valor que indica se os processos de serialização devem serializar o valor efetivo da FallbackValue propriedade em instâncias desta classe.

(Herdado de BindingBase)
ShouldSerializePath()

Indica se a Path propriedade deve ser mantida.

ShouldSerializeSource()

Indica se a Source propriedade deve ser mantida.

ShouldSerializeTargetNullValue()

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

(Herdado de BindingBase)
ShouldSerializeValidationRules()

Indica se a ValidationRules propriedade deve ser mantida.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Eventos Anexados

Name Description
SourceUpdated

Ocorre quando um valor é transferido do alvo de ligação para a fonte de ligação, mas apenas para ligações com o NotifyOnSourceUpdated valor definido em true.

TargetUpdated

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

Aplica-se a

Ver também