Partager via


Binding Classe

Définition

Définit une liaison qui connecte les propriétés des cibles de liaison et des sources de données.

/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 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(Microsoft.UI.Xaml.WinUIContract), 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}" />
Héritage
Object IInspectable DependencyObject BindingBase Binding
Attributs

Exemples

L’exemple de code suivant montre comment créer une liaison en XAML. Pour obtenir la liste complète du code, consultez l’exemple de liaison de données 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>

L’exemple de code suivant montre comment créer une liaison dans le code.

// 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);

Remarques

L’extension de balisage {Binding} vous permet de spécifier une valeur de liaison sous la forme d’une chaîne d’attribut unique en XAML, y compris la définition de propriétés de liaison telles que Path et Source. Pour plus d’informations sur les concepts de liaison de données, consultez Liaison de données en détail.

La classe Binding peut être considérée comme l’exposition code-behind de l’extension de balisage {Binding}. Si une liaison est déjà appliquée à une cible (ce qui se produit lorsque le XAML est chargé), vous ne pouvez pas définir les propriétés en lecture-écriture d’un objet Binding pour modifier le comportement d’une liaison au moment de l’exécution. Toute liaison définie par XAML doit être considérée comme immuable. Toutefois, vous pouvez créer un objet Binding, définir ses propriétés et établir une nouvelle liaison sur une cible d’élément d’interface utilisateur spécifique à l’aide de FrameworkElement.SetBinding. Pour plus d’informations, consultez Création de liaisons dans le code.

Un objet Binding connecte une propriété de dépendance d’un FrameworkElement directement à un objet de données afin que les mises à jour de l’objet de données soient automatiquement propagées à la propriété qui utilise la liaison de données. La classe Binding définit les propriétés d’une liaison. Chaque liaison doit avoir un élément cible, une propriété cible et une source de données, bien que certaines valeurs soient fournies par défaut si vous ne les spécifiez pas.

Pour établir une liaison à une propriété ou à une sous-propriété sur un objet de données, définissez la propriété Path de l’objet Binding. Pour plus d’informations sur la définition du chemin d’accès dans le code ou dans XAML, consultez Syntaxe du chemin de propriété ou extension de balisage {Binding}.

Vous pouvez appliquer une instance d’une classe Binding à plusieurs cibles. Toutefois, vous ne pouvez pas modifier les valeurs de propriété d’un objet Binding après l’avoir attaché à un élément cible.

Notes

L’appel de la méthode FrameworkElement.SetBinding et le passage d’un nouvel objet Binding ne supprime pas nécessairement une liaison existante. Au lieu de cela, vous devez utiliser la DependencyObject.ClearValue(DependencyProperty) méthode .

Pour plus d’informations sur l’utilisation des attributs XAML pour les propriétés qui peuvent prendre une liaison ou qui peuvent autrement être définies sur une valeur liée aux données, consultez Extension de balisage {Binding}.

La propriété qui est la cible de la liaison de données doit être une propriété de dépendance. Pour plus d’informations, voir Vue d’ensemble des propriétés de dépendance.

Constructeurs

Binding()

Initialise une nouvelle instance de la classe Binding.

Propriétés

Converter

Obtient ou définit l’objet de conversion appelé par le moteur de liaison pour modifier les données à mesure qu’elles sont passées entre la source et la cible, ou inversement.

ConverterLanguage

Obtient ou définit une valeur qui nomme la langue à passer à n’importe quel convertisseur spécifié par la propriété Converter .

ConverterParameter

Obtient ou définit un paramètre qui peut être utilisé dans la logique du convertisseur .

Dispatcher

Retourne null toujours dans une application SDK d'application Windows. Utilisez DispatcherQueue à la place.

(Hérité de DependencyObject)
DispatcherQueue

Obtient le DispatcherQueue auquel cet objet est associé. DispatcherQueue représente une installation qui peut accéder au DependencyObject sur le thread d’interface utilisateur, même si le code est initié par un thread autre que l’interface utilisateur.

(Hérité de DependencyObject)
ElementName

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

FallbackValue

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

Mode

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

Path

Obtient ou définit le chemin de la propriété de 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. Ceci est le plus souvent utilisé dans les liaisons au sein de modèles de contrôles XAML.

Source

Obtient ou définit la source de données pour la liaison.

TargetNullValue

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

UpdateSourceTrigger

Obtient ou définit une valeur qui détermine le minutage des mises à jour de la source de liaison pour les liaisons bidirectionnelle.

Méthodes

ClearValue(DependencyProperty)

Efface la valeur locale d’une propriété de dépendance.

(Hérité de DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Retourne toute valeur de base établie pour une propriété de dépendance, qui s’applique dans les cas où une animation n’est pas active.

(Hérité de DependencyObject)
GetValue(DependencyProperty)

Retourne la valeur effective actuelle d’une propriété de dépendance à partir d’un objet DependencyObject.

(Hérité de DependencyObject)
ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, si une valeur locale est définie.

(Hérité de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Inscrit une fonction de notification pour écouter les modifications apportées à un DependencyProperty spécifique sur ce instance DependencyObject.

(Hérité de DependencyObject)
SetValue(DependencyProperty, Object)

Définit la valeur locale d’une propriété de dépendance sur un DependencyObject.

(Hérité de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Annule une notification de modification précédemment inscrite en appelant RegisterPropertyChangedCallback.

(Hérité de DependencyObject)

S’applique à

Voir aussi