FrameworkPropertyMetadata.BindsTwoWayByDefault Propriété

Définition

Obtient ou définit une valeur qui indique si la propriété établit une liaison bidirectionnelle 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é

Boolean

true si la propriété de dépendance sur laquelle figurent ces métadonnées établit une liaison bidirectionnelle 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 : elles sont donc sealed et les propriétés des métadonnées ne peuvent 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 que l’état du rapport et modifiables par action 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 comme en lecture-écriture. C’est pourquoi ils peuvent être ajustés après l’initialisation de l’instance. Toutefois, une fois les métadonnées consommées dans le cadre d’un appel à Register, AddOwnerou , le OverrideMetadatasystè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. La tentative de définition de cette propriété après IsSealed avoir true été effectuée sur cette instance de métadonnées déclenche 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