Binding Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.
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 é |
| 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 |
Propriedades Anexadas
| Name | Description |
|---|---|
| XmlNamespaceManager |
Obtém ou define os XmlNamespaceManager usados para realizar consultas conscientes |
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 |
| 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 |