Partager via


Binding Classe

Définition

Fournit un accès de haut niveau à la définition d’une liaison, qui connecte les propriétés des objets cibles de liaison (généralement, les éléments WPF) et toute source de données (par exemple, une base de données, un fichier XML ou tout objet qui contient des données).

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
Héritage

Remarques

La liaison de données WPF (Windows Presentation Foundation) offre un moyen simple et cohérent aux applications de présenter et d’interagir avec les données. La liaison de données vous permet de synchroniser les valeurs des propriétés de deux objets différents.

Pour établir une liaison, utilisez la Binding classe ou l’une des autres classes qui héritent BindingBase. Quel que soit l’objet que vous liez et la nature de votre source de données, chaque liaison suit le modèle illustré par la figure suivante.

Diagramme de liaison de données de base Diagramme de

La figure illustre les concepts de liaison de données WPF fondamentaux suivants.

  • Chaque liaison possède généralement ces quatre composants : un objet cible de liaison, une propriété cible, une source de liaison et une Path valeur dans la source de liaison à utiliser. Par exemple, si vous souhaitez lier le contenu d’une TextBox propriété Name d’un objet Employee, votre objet cible est TextBoxla propriété , la propriété cible est la Text propriété, la valeur à utiliser est Name et l’objet source est l’objet Employee.

  • La propriété cible doit être une propriété de dépendance. Cela signifie également que vous ne pouvez pas lier un champ. La plupart des propriétés d’objets sont des propriétés de dépendance et la plupart des propriétés de dépendance, à l’exception des propriétés en lecture seule, prennent en charge la liaison de UIElement données par défaut. (Seuls DependencyObject les types peuvent définir des propriétés de dépendance et tous les UIElement objets dérivent de DependencyObject.)

  • Bien qu’il ne soit pas spécifié dans la figure, il convient de noter que l’objet source de liaison n’est pas limité à être un objet CLR personnalisé. La liaison de données WPF prend en charge les données sous la forme d’objets CLR et XML. Pour fournir des exemples, votre source de liaison peut être un UIElement, un objet de liste, un objet CLR associé à ADO.NET données ou services Web, ou un xmlNode qui contient vos données XML.

Utilisez la Mode propriété pour spécifier la direction du flux de données. Pour détecter les modifications sources dans des liaisons unidirectionnelle ou bidirectionnelle, la source doit implémenter un mécanisme de notification de modification de propriété approprié tel que INotifyPropertyChanged. Pour obtenir un exemple, consultez Comment : implémenter la notification de modification de propriété. La UpdateSourceTrigger propriété spécifie le minutage des mises à jour sources. Pour plus d’informations, consultez « Concepts de liaison de données de base » dans La vue d’ensemble de la liaison de données.

Utilisation des attributs XAML

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

Valeurs XAML

Déclaration Zéro ou plusieurs clauses d’attribution d’attributs séparées par des virgules (,). Pour plus d’informations, consultez Vue d’ensemble de l’extension de balisage de liaison ou des déclarations de liaison.

Constructeurs

Nom Description
Binding()

Initialise une nouvelle instance de la classe Binding.

Binding(String)

Initialise une nouvelle instance de la Binding classe avec un chemin d’accès initial.

Champs

Nom Description
DoNothing

Utilisé comme valeur retournée pour indiquer au moteur de liaison de ne pas effectuer d’action.

IndexerName

Utilisé comme PropertyName élément permettant d’indiquer PropertyChangedEventArgs qu’une propriété d’indexeur a changé.

SourceUpdatedEvent

Identifie l’événement SourceUpdated attaché.

TargetUpdatedEvent

Identifie l’événement TargetUpdated attaché.

XmlNamespaceManagerProperty

Identifie la XmlNamespaceManager propriété jointe.

Propriétés

Nom Description
AsyncState

Obtient ou définit des données opaques transmises au répartiteur de données asynchrone.

BindingGroupName

Obtient ou définit le nom de la BindingGroup liaison à laquelle appartient cette liaison.

(Hérité de BindingBase)
BindsDirectlyToSource

Obtient ou définit une valeur qui indique s’il faut évaluer la Path valeur relative à l’élément de données ou à l’objet DataSourceProvider .

Converter

Obtient ou définit le convertisseur à utiliser.

ConverterCulture

Obtient ou définit la culture dans laquelle évaluer le convertisseur.

ConverterParameter

Obtient ou définit le paramètre à passer au Converter.

Delay

Obtient ou définit la durée, en millisecondes, pour attendre avant de mettre à jour la source de liaison après la modification de la valeur sur la cible.

(Hérité de BindingBase)
ElementName

Obtient ou définit le nom de l’élément à utiliser comme objet source de liaison.

FallbackValue

Obtient ou définit la valeur à utiliser lorsque la liaison ne peut pas retourner une valeur.

(Hérité de BindingBase)
IsAsync

Obtient ou définit une valeur qui indique si les Binding valeurs doivent obtenir et définir des valeurs de manière asynchrone.

Mode

Obtient ou définit une valeur qui indique la direction du flux de données dans la liaison.

NotifyOnSourceUpdated

Obtient ou définit une valeur qui indique s’il faut déclencher l’événement SourceUpdated lorsqu’une valeur est transférée de la cible de liaison à la source de liaison.

NotifyOnTargetUpdated

Obtient ou définit une valeur qui indique s’il faut déclencher l’événement TargetUpdated lorsqu’une valeur est transférée de la source de liaison à la cible de liaison.

NotifyOnValidationError

Obtient ou définit une valeur qui indique s’il faut déclencher l’événement Error attaché sur l’objet lié.

Path

Obtient ou définit le chemin d’accès à la propriété source de liaison.

RelativeSource

Obtient ou définit la source de liaison en spécifiant son emplacement par rapport à la position de la cible de liaison.

Source

Obtient ou définit l’objet à utiliser comme source de liaison.

StringFormat

Obtient ou définit une chaîne qui spécifie comment mettre en forme la liaison si elle affiche la valeur liée sous forme de chaîne.

(Hérité de BindingBase)
TargetNullValue

Obtient ou définit la valeur utilisée dans la cible lorsque la valeur de la source est null.

(Hérité de BindingBase)
UpdateSourceExceptionFilter

Obtient ou définit un gestionnaire que vous pouvez utiliser pour fournir une logique personnalisée pour gérer les exceptions rencontrées par le moteur de liaison pendant la mise à jour de la valeur source de liaison. Cela s’applique uniquement si vous avez associé une ExceptionValidationRule liaison.

UpdateSourceTrigger

Obtient ou définit une valeur qui détermine le minutage des mises à jour sources de liaison.

ValidatesOnDataErrors

Obtient ou définit une valeur qui indique s’il faut inclure le DataErrorValidationRule.

ValidatesOnExceptions

Obtient ou définit une valeur qui indique s’il faut inclure le ExceptionValidationRule.

ValidatesOnNotifyDataErrors

Obtient ou définit une valeur qui indique s’il faut inclure le NotifyDataErrorValidationRule.

ValidationRules

Obtient une collection de règles qui vérifient la validité de l’entrée utilisateur.

XPath

Obtient ou définit une XPath requête qui retourne la valeur de la source de liaison XML à utiliser.

Propriétés attachées

Nom Description
XmlNamespaceManager

Obtient ou définit l’objet XmlNamespaceManager utilisé pour effectuer des requêtes prenant en compte XPath les espaces de noms dans les liaisons XML.

Méthodes

Nom Description
AddSourceUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Ajoute un gestionnaire pour l’événement SourceUpdated attaché.

AddTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Ajoute un gestionnaire pour l’événement TargetUpdated attaché.

Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
GetXmlNamespaceManager(DependencyObject)

Retourne un objet de gestionnaire d’espaces de noms XML utilisé par la liaison attachée à l’objet spécifié.

MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ProvideValue(IServiceProvider)

Retourne un objet qui doit être défini sur la propriété où cette liaison et cette extension sont appliquées.

(Hérité de BindingBase)
RemoveSourceUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Supprime un gestionnaire pour l’événement SourceUpdated attaché.

RemoveTargetUpdatedHandler(DependencyObject, EventHandler<DataTransferEventArgs>)

Supprime un gestionnaire pour l’événement TargetUpdated attaché.

SetXmlNamespaceManager(DependencyObject, XmlNamespaceManager)

Définit un objet de gestionnaire d’espaces de noms utilisé par la liaison attachée à l’élément fourni.

ShouldSerializeFallbackValue()

Retourne une valeur qui indique si les processus de sérialisation doivent sérialiser la valeur effective de la FallbackValue propriété sur les instances de cette classe.

(Hérité de BindingBase)
ShouldSerializePath()

Indique si la Path propriété doit être conservée.

ShouldSerializeSource()

Indique si la Source propriété doit être conservée.

ShouldSerializeTargetNullValue()

Retourne une valeur qui indique si la TargetNullValue propriété doit être sérialisée.

(Hérité de BindingBase)
ShouldSerializeValidationRules()

Indique si la ValidationRules propriété doit être conservée.

ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

Événements attachés

Nom Description
SourceUpdated

Se produit lorsqu’une valeur est transférée de la cible de liaison à la source de liaison, mais uniquement pour les liaisons avec la NotifyOnSourceUpdated valeur définie sur true.

TargetUpdated

Se produit lorsqu’une valeur est transférée de la source de liaison à la cible de liaison, mais uniquement pour les liaisons avec la NotifyOnTargetUpdated valeur définie sur true.

S’applique à

Voir aussi