Binding Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Définit une liaison qui connecte les propriétés des cibles de liaison et des sources de données.
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 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(Windows.Foundation.UniversalApiContract), 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
- Attributs
Configuration requise pour Windows
Famille d’appareils |
Windows 10 (introduit dans 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v1.0)
|
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);
'Create the source string
Dim s As String = "Hello"
'Create the binding description
Dim b As New Binding()
b.Mode = BindingMode.OneTime
b.Source = s
'Attach the binding to the target
Dim MyText As New TextBlock()
MyText.SetBinding(TextBlock.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 méthode DependencyObject.ClearValue .
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 |
Obtient le CoreDispatcher auquel cet objet est associé. CoreDispatcher représente une installation qui peut accéder à 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) |