BindableAttribute Class

Definition

Specifica se un membro viene generalmente utilizzato per l'associazione.Specifies whether a member is typically used for binding. Questa classe non può essere ereditata.This class cannot be inherited.

public ref class BindableAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class BindableAttribute : Attribute
type BindableAttribute = class
    inherit Attribute
Public NotInheritable Class BindableAttribute
Inherits Attribute
Inheritance
BindableAttribute
Attributes

Examples

Nell'esempio di codice seguente la proprietà viene contrassegnata in modo appropriato per l'associazione dei dati a.The following code example marks a property as appropriate to bind data to.

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.
       return 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

Nell'esempio di codice successivo viene illustrato come controllare il valore della BindableAttribute per MyProperty.The next code example shows how to check the value of the BindableAttribute for MyProperty. Innanzitutto, il codice ottiene un PropertyDescriptorCollection con tutte le proprietà per l'oggetto.First, the code gets a PropertyDescriptorCollection with all the properties for the object. Successivamente, il codice indicizza nel PropertyDescriptorCollection per ottenere MyProperty.Next, the code indexes into the PropertyDescriptorCollection to get MyProperty. Infine, il codice restituisce gli attributi per questa proprietà e li salva nella variabile Attributes.Finally, the code returns the attributes for this property and saves them in the attributes variable. Nell'esempio di codice vengono illustrati due modi diversi per verificare il valore della BindableAttribute.The code example presents two different ways to check the value of the BindableAttribute. Nel secondo frammento di codice, nell'esempio viene chiamato il metodo Equals.In the second code fragment, the example calls the Equals method. Nell'ultimo frammento di codice, nell'esempio viene utilizzata la proprietà Bindable per verificare il valore.In the last code fragment, the example uses the Bindable property to check the value.

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

Se è stata contrassegnata una classe con la BindableAttribute, utilizzare l'esempio di codice seguente per verificare il valore.If you marked a class with the BindableAttribute, use the following code example to check the value.

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 

Remarks

È possibile specificare questo attributo per più membri, in genere proprietà, su un controllo.You can specify this attribute for multiple members, typically properties, on a control.

Se una proprietà è stata contrassegnata con la BindableAttribute impostata su true, è necessario generare una notifica di modifica della proprietà per tale proprietà.If a property has been marked with the BindableAttribute set to true, then a property change notification should be raised for that property. Ciò significa che se la proprietà Bindable è Yes, è supportata la data binding bidirezionale.This means that if the Bindable property is Yes, then two-way data binding is supported. Se Bindable è No, è comunque possibile eseguire l'associazione alla proprietà, ma non deve essere visualizzata nel set predefinito di proprietà a cui eseguire l'associazione, perché potrebbe o non generare una notifica di modifica della proprietà.If Bindable is No, you can still bind to the property, but it should not be shown in the default set of properties to bind to, because it might or might not raise a property change notification.

Note

Quando si contrassegna una proprietà con BindableAttribute impostata su true, il valore di questo attributo viene impostato sul Yesmembro costante.When you mark a property with BindableAttribute set to true, the value of this attribute is set to the constant member Yes. Per una proprietà contrassegnata con la BindableAttribute impostata su false, il valore è No.For a property marked with the BindableAttribute set to false, the value is No. Pertanto, per verificare il valore di questo attributo nel codice, è necessario specificare l'attributo come BindableAttribute.Yes o BindableAttribute.No.Therefore, to check the value of this attribute in your code, you must specify the attribute as BindableAttribute.Yes or BindableAttribute.No.

Caution

Questo attributo può essere utilizzato solo in fase di progettazione.You can use this attribute at design time only. Niente impedisce l'associazione a qualsiasi proprietà in fase di esecuzione.Nothing prevents you from binding to any property during run time.

Per altre informazioni, vedere Attributi.For more information, see Attributes.

Constructors

BindableAttribute(BindableSupport)

Inizializza una nuova istanza della classe BindableAttribute con uno dei valori BindableSupport.Initializes a new instance of the BindableAttribute class with one of the BindableSupport values.

BindableAttribute(BindableSupport, BindingDirection)

Inizializza una nuova istanza della classe BindableAttribute.Initializes a new instance of the BindableAttribute class.

BindableAttribute(Boolean)

Inizializza una nuova istanza della classe BindableAttribute con un valore Boolean.Initializes a new instance of the BindableAttribute class with a Boolean value.

BindableAttribute(Boolean, BindingDirection)

Inizializza una nuova istanza della classe BindableAttribute.Initializes a new instance of the BindableAttribute class.

Fields

Default

Consente di specificare il valore predefinito per l'attributo BindableAttribute, che è No.Specifies the default value for the BindableAttribute, which is No. Questo campo è di sola lettura.This field is read-only.

No

Consente di specificare che una proprietà non viene generalmente utilizzata per l'associazione.Specifies that a property is not typically used for binding. Questo campo è di sola lettura.This field is read-only.

Yes

Consente di specificare che una proprietà viene generalmente utilizzata per l'associazione.Specifies that a property is typically used for binding. Questo campo è di sola lettura.This field is read-only.

Properties

Bindable

Ottiene un valore che indica che una proprietà viene generalmente utilizzata per l'associazione.Gets a value indicating that a property is typically used for binding.

Direction

Ottiene un valore che indica la o le direzioni dell'associazione dati di questa proprietà.Gets a value indicating the direction or directions of this property's data binding.

TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Methods

Equals(Object)

Determina se due oggetti BindableAttribute sono uguali.Determines whether two BindableAttribute objects are equal.

GetHashCode()

Viene utilizzato come funzione hash per la classe BindableAttribute.Serves as a hash function for the BindableAttribute class.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute()

Determina se questo attributo è predefinito.Determines if this attribute is the default.

Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Applies to

See also