BindableAttribute Classe

Definizione

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
Ereditarietà
BindableAttribute
Attributi

Esempi

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 verificare il valore di BindableAttribute per MyProperty.The next code example shows how to check the value of the BindableAttribute for MyProperty. Innanzitutto, il codice ottiene un PropertyDescriptorCollection oggetto con tutte le proprietà per l'oggetto.First, the code gets a PropertyDescriptorCollection with all the properties for the object. Successivamente, il codice indicizza nell'oggetto PropertyDescriptorCollection da 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 BindableAttributevalore di.The code example presents two different ways to check the value of the BindableAttribute. Nel secondo frammento di codice, nell'esempio viene Equals chiamato il metodo.In the second code fragment, the example calls the Equals method. Nell'ultimo frammento di codice, nell'esempio viene Bindable utilizzata la proprietà 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 BindableAttributecon, usare 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 

Commenti

È 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 BindableAttribute la proprietà trueimpostata su, è necessario generare una notifica di modifica delle 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 Bindable proprietà è 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.

Nota

Quando si contrassegna una proprietà con BindableAttribute impostato su true, il valore di questo attributo viene impostato sul membro YesConstant.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 BindableAttribute la proprietà falseimpostata su, il Novalore è.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.NoTherefore, to check the value of this attribute in your code, you must specify the attribute as BindableAttribute.Yes or BindableAttribute.No.

Attenzione

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.

Costruttori

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

Campi

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.

Proprietà

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.

(Ereditato da Attribute)

Metodi

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.

(Ereditato da 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.

(Ereditato da Attribute)
MemberwiseClone()

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

(Ereditato da Object)
ToString()

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

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

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

(Ereditato da 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.

(Ereditato da 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).

(Ereditato da 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.

(Ereditato da Attribute)

Si applica a

Vedi anche