Lire en anglais

Partager via


BindableAttribute Classe

Définition

Spécifie si un membre est généralement utilisé pour la liaison. Cette classe ne peut pas être héritée.

[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class BindableAttribute : Attribute
Héritage
BindableAttribute
Attributs

Exemples

L’exemple de code suivant marque une propriété comme appropriée pour lier des données.

[Bindable(true)]
 public int MyProperty {
    get {
       // Insert code here.
       return 0;
    }
    set {
       // Insert code here.
    }
 }

L’exemple de code suivant montre comment case activée la valeur de pour BindableAttributeMyProperty. Tout d’abord, le code obtient un PropertyDescriptorCollection avec toutes les propriétés de l’objet. Ensuite, le code s’indexe dans pour PropertyDescriptorCollection obtenir MyProperty. Enfin, le code retourne les attributs de cette propriété et les enregistre dans la variable d’attributs. L’exemple de code présente deux façons différentes de case activée la valeur de BindableAttribute. Dans le deuxième fragment de code, l’exemple appelle la Equals méthode . Dans le dernier fragment de code, l’exemple utilise la Bindable propriété pour case activée la valeur.

   // Gets the attributes for the property.
    AttributeCollection attributes =
       TypeDescriptor.GetProperties(this)["MyProperty"].Attributes;

    // Checks to see if the value of the BindableAttribute is Yes.
    if(attributes[typeof(BindableAttribute)].Equals(BindableAttribute.Yes)) {
       // Insert code here.
    }

    // This is another way to see whether the property is bindable.
    BindableAttribute myAttribute =
       (BindableAttribute)attributes[typeof(BindableAttribute)];
    if(myAttribute.Bindable) {
       // Insert code here.
    }

// Yet another way to see whether the property is bindable.
if (attributes.Contains(BindableAttribute.Yes)) {
   // Insert code here.
}

Si vous avez marqué une classe avec , BindableAttributeutilisez l’exemple de code suivant pour case activée la valeur.

AttributeCollection attributes =
    TypeDescriptor.GetAttributes(MyProperty);
 if(attributes[typeof(BindableAttribute)].Equals(BindableAttribute.Yes)) {
    // Insert code here.
 }

Remarques

Vous pouvez spécifier cet attribut pour plusieurs membres, généralement des propriétés, sur un contrôle.

Si une propriété a été marquée avec la BindableAttribute valeur définie sur true, une notification de modification de propriété doit être déclenchée pour cette propriété. Cela signifie que si la Bindable propriété est Yes, la liaison de données bidirectionnelle est prise en charge. Si Bindable est No, vous pouvez toujours lier à la propriété, mais elle ne doit pas être affichée dans l’ensemble par défaut de propriétés à lier, car elle peut ou non déclencher une notification de modification de propriété.

Notes

Lorsque vous marquez une propriété avec BindableAttribute la valeur définie sur true, la valeur de cet attribut est définie sur le membre Yesconstant . Pour une propriété marquée avec la BindableAttribute valeur définie sur false, la valeur est No. Par conséquent, pour case activée la valeur de cet attribut dans votre code, vous devez spécifier l’attribut comme BindableAttribute.Yes ou BindableAttribute.No.

Attention

Vous pouvez utiliser cet attribut au moment de la conception uniquement. Rien ne vous empêche de lier à une propriété pendant l’exécution.

Pour plus d’informations, consultez Attributs.

Constructeurs

BindableAttribute(BindableSupport)

Initialise une nouvelle instance de la classe BindableAttribute avec l’une des valeurs BindableSupport.

BindableAttribute(BindableSupport, BindingDirection)

Initialise une nouvelle instance de la classe BindableAttribute.

BindableAttribute(Boolean)

Initialise une nouvelle instance de la classe BindableAttribute avec une valeur Boolean.

BindableAttribute(Boolean, BindingDirection)

Initialise une nouvelle instance de la classe BindableAttribute.

Champs

Default

Spécifie la valeur par défaut de BindableAttribute (No). Ce champ est en lecture seule.

No

Spécifie qu'une propriété n'est généralement pas utilisée pour la liaison. Ce champ est en lecture seule.

Yes

Spécifie qu'une propriété est généralement utilisée pour la liaison. Ce champ est en lecture seule.

Propriétés

Bindable

Obtient une valeur indiquant qu'une propriété est généralement utilisée pour la liaison.

Direction

Obtient une valeur qui indique la ou les directions de la liaison de données de cette propriété.

TypeId

Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute.

(Hérité de Attribute)

Méthodes

Equals(Object)

Détermine si deux objets BindableAttribute sont identiques.

GetHashCode()

Sert de fonction de hachage pour la classe BindableAttribute.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
IsDefaultAttribute()

Détermine si cet attribut est l'attribut par défaut.

Match(Object)

En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

(Hérité de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface.

(Hérité de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).

(Hérité de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.

(Hérité de Attribute)

S’applique à

Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Voir aussi