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(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
- 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 en tant que 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 profondeur.
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 (qui se produit lorsque le code 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 propagées automatiquement à 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 de chemin d’accès
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ée à un élément cible.
Note
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 Microsoft.UI.Xaml.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 l’extension de balisage {Binding}.
La propriété qui est la cible d’une liaison de données doit être une propriété de dépendance. Pour plus d’informations, consultez 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 convertisseur appelé par le moteur de liaison pour modifier les données à mesure qu’elles sont transmises 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 Converter. |
Dispatcher |
Retourne toujours |
DispatcherQueue |
Obtient le |
ElementName |
Obtient ou définit le nom de l’élément à utiliser comme source de liaison pour la Binding. |
FallbackValue |
Obtient ou définit la valeur à utiliser lorsque la liaison ne peut pas retourner une valeur. |
Mode |
Obtient ou définit une valeur qui indique la direction du flux de données dans la liaison. |
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. Cela est le plus souvent utilisé dans les liaisons dans les modèles de contrôle XAML. |
Source |
Obtient ou définit la source de données de 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 sources 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’une 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 cette 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
- <xref:Microsoft.UI.Xaml.Data.BindingOperations.SetBinding(Microsoft.UI.Xaml.DependencyObject%2cMicrosoft.UI.Xaml.DependencyProperty%2cMicrosoft.UI.Xaml.Data.BindingBase)%0a(bindingoperations_setbinding_746099660.md)>
- exemple de liaison de données XAML
- liaison de données en profondeur
- Vue d’ensemble des propriétés de dépendance
- syntaxe de chemin d’accès aux propriétés