Partager via


FrameworkPropertyMetadata.BindsTwoWayByDefault Propriété

Définition

Obtient ou définit une valeur qui indique si la propriété lie bidirectionnel par défaut.

public:
 property bool BindsTwoWayByDefault { bool get(); void set(bool value); };
public bool BindsTwoWayByDefault { get; set; }
member this.BindsTwoWayByDefault : bool with get, set
Public Property BindsTwoWayByDefault As Boolean

Valeur de propriété

true si la propriété de dépendance sur laquelle ces métadonnées existe lie bidirectionnel par défaut ; sinon, false. La valeur par défaut est false.

Exceptions

Les métadonnées ont déjà été appliquées à une opération de propriété de dépendance, afin que les métadonnées soient scellées et que les propriétés des métadonnées ne puissent pas être définies.

Exemples

L’exemple suivant obtient les métadonnées par défaut à partir de différents champs de propriété de dépendance, interroge la valeur de différentes FrameworkPropertyMetadata propriétés sur celle-ci et utilise les informations pour remplir une table pour implémenter un « navigateur de métadonnées ».

pm = dp.GetMetadata(dp.OwnerType);
pm = dp.GetMetadata(dp.OwnerType)
FrameworkPropertyMetadata fpm = pm as FrameworkPropertyMetadata;
if (fpm!=null) {
    AffectsArrange.Text = (fpm.AffectsArrange) ? "Yes" : "No";
    AffectsMeasure.Text = (fpm.AffectsMeasure) ? "Yes" : "No";
    AffectsRender.Text = (fpm.AffectsRender) ? "Yes" : "No";
    Inherits.Text = (fpm.Inherits) ? "Yes" : "No";
    IsDataBindingAllowed.Text = (fpm.IsDataBindingAllowed) ? "Yes" : "No";
    BindsTwoWayByDefault.Text = (fpm.BindsTwoWayByDefault) ? "Yes" : "No";
}
Dim fpm As FrameworkPropertyMetadata = TryCast(pm, FrameworkPropertyMetadata)
If fpm IsNot Nothing Then
    AffectsArrange.Text = If((fpm.AffectsArrange), "Yes", "No")
    AffectsMeasure.Text = If((fpm.AffectsMeasure), "Yes", "No")
    AffectsRender.Text = If((fpm.AffectsRender), "Yes", "No")
        [Inherits].Text = If((fpm.Inherits), "Yes", "No")
    IsDataBindingAllowed.Text = If((fpm.IsDataBindingAllowed), "Yes", "No")
    BindsTwoWayByDefault.Text = If((fpm.BindsTwoWayByDefault), "Yes", "No")

Remarques

En l’absence de cette propriété true, les mises à jour de liaison sont unidirectionnelle par défaut, en fonction du comportement par défaut des constructeurs ou de Binding la syntaxe XAML équivalente.

Dans les éléments existants, vous trouverez généralement cette propriété définie true dans les métadonnées pour les propriétés de dépendance qui sont à la fois modifiables par l’action de l’utilisateur, par exemple Selector.IsSelected.

Cette propriété signale uniquement les caractéristiques de mise à jour de liaison par défaut de la propriété de dépendance en général. Toute liaison définie sur cette propriété sur une instance peut définir localement la Mode propriété de la liaison et modifier cette valeur par défaut.

Les propriétés sur toutes les classes dérivées de PropertyMetadata sont généralement définies dans le modèle objet en lecture-écriture. C’est pourquoi elles peuvent être ajustées après l’initialisation de l’instance. Toutefois, une fois les métadonnées consommées dans le cadre d’un appel à Register, AddOwnerou OverrideMetadata, le système de propriétés scellera cette instance de métadonnées et les propriétés qui transmettent les spécificités des métadonnées sont désormais considérées comme immuables. Une tentative de définition de cette propriété après IsSealed avoir été true effectuée sur cette instance de métadonnées génère une exception.

Utilisation du texte XAML

Les membres de cette classe ne sont généralement pas utilisés en XAML.

S’applique à

Voir aussi