Udostępnij za pośrednictwem


BindableAttribute Klasa

Definicja

Określa, czy element członkowski jest zwykle używany do tworzenia powiązań. Tej klasy nie można dziedziczyć.

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
Dziedziczenie
BindableAttribute
Atrybuty

Przykłady

Poniższy przykład kodu oznacza właściwość odpowiednio do powiązania danych z.

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

W następnym przykładzie kodu pokazano, jak sprawdzić wartość BindableAttribute dla MyProperty. Najpierw kod pobiera PropertyDescriptorCollection ze wszystkimi właściwościami obiektu. Następnie kod indeksuje do PropertyDescriptorCollection, aby uzyskać MyProperty. Na koniec kod zwraca atrybuty tej właściwości i zapisuje je w zmiennej atrybutów. W przykładzie kodu przedstawiono dwa różne sposoby sprawdzania wartości BindableAttribute. W drugim fragmentcie kodu przykład wywołuje metodę Equals. W ostatnim fragmentcie kodu w przykładzie użyto właściwości Bindable w celu sprawdzenia wartości.

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

Jeśli oznaczono klasę BindableAttribute, użyj poniższego przykładu kodu, aby sprawdzić wartość.

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

Uwagi

Ten atrybut można określić dla wielu elementów członkowskich, zazwyczaj właściwości, na kontrolce.

Jeśli właściwość została oznaczona BindableAttribute ustawioną na true, dla tej właściwości powinno zostać zgłoszone powiadomienie o zmianie właściwości. Oznacza to, że jeśli właściwość Bindable jest Yes, obsługiwane jest dwukierunkowe powiązanie danych. Jeśli Bindable jest No, nadal można powiązać z właściwością, ale nie powinna być wyświetlana w domyślnym zestawie właściwości do powiązania, ponieważ może lub nie może zgłosić powiadomienia o zmianie właściwości.

Nuta

Gdy oznaczysz właściwość przy użyciu BindableAttribute ustawioną na true, wartość tego atrybutu jest ustawiona na stałą Yesskładową . Dla właściwości oznaczonej BindableAttribute ustawioną na falsewartość to No. W związku z tym, aby sprawdzić wartość tego atrybutu w kodzie, należy określić atrybut jako BindableAttribute.Yes lub BindableAttribute.No.

Ostrożność

Tego atrybutu można używać tylko w czasie projektowania. Nic nie uniemożliwia wiązania z dowolną właściwością w czasie wykonywania.

Aby uzyskać więcej informacji, zobacz Atrybuty.

Konstruktory

BindableAttribute(BindableSupport, BindingDirection)

Inicjuje nowe wystąpienie klasy BindableAttribute.

BindableAttribute(BindableSupport)

Inicjuje nowe wystąpienie klasy BindableAttribute z jedną z wartości BindableSupport.

BindableAttribute(Boolean, BindingDirection)

Inicjuje nowe wystąpienie klasy BindableAttribute.

BindableAttribute(Boolean)

Inicjuje nowe wystąpienie klasy BindableAttribute z wartością logiczną.

Pola

Default

Określa wartość domyślną BindableAttribute, która jest No. To pole jest tylko do odczytu.

No

Określa, że właściwość nie jest zwykle używana do powiązania. To pole jest tylko do odczytu.

Yes

Określa, że właściwość jest zwykle używana do powiązania. To pole jest tylko do odczytu.

Właściwości

Bindable

Pobiera wartość wskazującą, że właściwość jest zwykle używana do powiązania.

Direction

Pobiera wartość wskazującą kierunek lub kierunek powiązania danych tej właściwości.

TypeId

Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego Attribute.

(Odziedziczone po Attribute)

Metody

Equals(Object)

Określa, czy dwa obiekty BindableAttribute są równe.

GetHashCode()

Służy jako funkcja skrótu dla klasy BindableAttribute.

GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
IsDefaultAttribute()

Określa, czy ten atrybut jest domyślny.

Match(Object)

Po zastąpieniu w klasie pochodnej zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi.

(Odziedziczone po Attribute)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

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

Mapuje zestaw nazw na odpowiedni zestaw identyfikatorów wysyłki.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Pobiera informacje o typie obiektu, którego można użyć do uzyskania informacji o typie dla interfejsu.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Pobiera liczbę interfejsów informacyjnych typu zapewnianych przez obiekt (0 lub 1).

(Odziedziczone po Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Zapewnia dostęp do właściwości i metod uwidocznionych przez obiekt.

(Odziedziczone po Attribute)

Dotyczy

Zobacz też