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.

public ref class BindableAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class BindableAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All)>]
type BindableAttribute = class
    inherit Attribute
Public NotInheritable Class BindableAttribute
Inherits Attribute
Héritage
BindableAttribute
Attributs

Exemples

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

property int MyProperty 
{
   [System::ComponentModel::Bindable(true)]
   int get()
   {
      // Insert code here.
      return 0;
   }

   [System::ComponentModel::Bindable(true)]
   void set( int )
   {
      // Insert code here.
   }
}
[Bindable(true)]
public int MyProperty
{
    get =>
        // Insert code here.
        0;
    set
    {
        // Insert code here.
    }
}
<Bindable(True)> _
Public Property MyProperty() As Integer
    Get
        ' Insert code here.
        Return 0
    End Get
    Set
         ' Insert code here.
    End Set
End Property

L’exemple de code suivant montre comment vérifier la valeur de la BindableAttribute valeur pour MyProperty. Tout d’abord, le code obtient une PropertyDescriptorCollection valeur avec toutes les propriétés de l’objet. Ensuite, le code indexe dans l’obtention PropertyDescriptorCollectionMyProperty. 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 vérifier la valeur du 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 vérifier la valeur.

using namespace System::ComponentModel;

// 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[ BindableAttribute::typeid ]->Equals( BindableAttribute::Yes ) )
{
   // Insert code here.
}

// This is another way to see whether the property is bindable.
BindableAttribute^ myAttribute = static_cast<BindableAttribute^>(attributes[ BindableAttribute::typeid ]);
if ( myAttribute->Bindable )
{
   // Insert code here.
}

// Yet another way to see whether the property is bindable.
if ( attributes->Contains( BindableAttribute::Yes ) )
{
   // Insert code here.
}
// 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.
}
    ' Gets the attributes for the property.
    Dim attributes As AttributeCollection = _
        TypeDescriptor.GetProperties(Me)("MyProperty").Attributes
    
    ' Checks to see if the value of the BindableAttribute is Yes.
    If attributes(GetType(BindableAttribute)).Equals(BindableAttribute.Yes) Then
        ' Insert code here.
    End If 
    
    ' This is another way to see whether the property is bindable.
    Dim myAttribute As BindableAttribute = _
        CType(attributes(GetType(BindableAttribute)), BindableAttribute)
    If myAttribute.Bindable Then
        ' Insert code here.
    End If 

' Yet another way to see whether the property is bindable.
If attributes.Contains(BindableAttribute.Yes) Then
' Insert code here.
End If

Si vous avez marqué une classe avec le BindableAttributecode suivant, utilisez l’exemple de code suivant pour vérifier la valeur.

using namespace System::ComponentModel;
AttributeCollection^ attributes = TypeDescriptor::GetAttributes( MyProperty );
if ( attributes[ BindableAttribute::typeid ]->Equals( BindableAttribute::Yes ) )
{
   // Insert code here.
}
AttributeCollection attributes =
    TypeDescriptor.GetAttributes(MyProperty);
if (attributes[typeof(BindableAttribute)].Equals(BindableAttribute.Yes))
{
    // Insert code here.
}
Dim attributes As AttributeCollection = TypeDescriptor.GetAttributes(MyProperty)
If attributes(GetType(BindableAttribute)).Equals(BindableAttribute.Yes) Then
    ' Insert code here.
End If

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 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 c’est Nole cas, vous pouvez toujours lier à la propriété, mais il ne doit pas être affiché dans l’ensemble par défaut de propriétés à lier, car il peut ou non déclencher une notification de modification de propriété.

Note

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

Avertissement

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

Pour plus d’informations, consultez Attributs.

Constructeurs

Nom Description
BindableAttribute(BindableSupport, BindingDirection)

Initialise une nouvelle instance de la classe BindableAttribute.

BindableAttribute(BindableSupport)

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

BindableAttribute(Boolean, BindingDirection)

Initialise une nouvelle instance de la classe BindableAttribute.

BindableAttribute(Boolean)

Initialise une nouvelle instance de la BindableAttribute classe avec une valeur booléenne.

Champs

Nom Description
Default

Spécifie la valeur par défaut pour le 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

Nom Description
Bindable

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

Direction

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

TypeId

En cas d’implémentation dans une classe dérivée, obtient un identificateur unique pour cette Attribute.

(Hérité de Attribute)

Méthodes

Nom Description
Equals(Object)

Détermine si deux BindableAttribute objets sont égaux.

GetHashCode()

Sert de fonction de hachage pour la BindableAttribute classe.

GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
IsDefaultAttribute()

Détermine si cet attribut est la valeur par défaut.

Match(Object)

En cas de substitution dans une classe dérivée, retourne une valeur qui indique si cette instance est égale à un objet spécifié.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

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

(Hérité de Object)

Implémentations d’interfaces explicites

Nom Description
_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 d’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 méthodes exposées par un objet.

(Hérité de Attribute)

S’applique à

Voir aussi