BindableAttribute Класс

Определение

Определяет, используется ли обычно член для привязки данных.Specifies whether a member is typically used for binding. Этот класс не наследуется.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
Наследование
BindableAttribute
Атрибуты

Примеры

В следующем примере кода свойство помечается как подходящее для привязки данных.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

В следующем примере кода показано, как проверить значение BindableAttribute для. MyPropertyThe next code example shows how to check the value of the BindableAttribute for MyProperty. Во- PropertyDescriptorCollection первых, код получает со всеми свойствами для объекта.First, the code gets a PropertyDescriptorCollection with all the properties for the object. Затем код индексирует в, PropertyDescriptorCollection чтобы получить. MyPropertyNext, the code indexes into the PropertyDescriptorCollection to get MyProperty. Наконец, код возвращает атрибуты для этого свойства и сохраняет их в переменной attributes.Finally, the code returns the attributes for this property and saves them in the attributes variable. В примере кода представлено два разных способа проверки значения BindableAttribute.The code example presents two different ways to check the value of the BindableAttribute. Во втором фрагменте кода в примере вызывается Equals метод.In the second code fragment, the example calls the Equals method. В последнем фрагменте кода в примере используется Bindable свойство для проверки значения.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

Если вы пометили класс с BindableAttributeпомощью, используйте следующий пример кода для проверки значения.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 

Комментарии

Этот атрибут можно указать для нескольких элементов, обычно свойств, на элементе управления.You can specify this attribute for multiple members, typically properties, on a control.

Если свойство помечено BindableAttribute trueзначением, для этого свойства должно быть создано уведомление об изменении свойства.If a property has been marked with the BindableAttribute set to true, then a property change notification should be raised for that property. Это означает, что если Bindable свойство имеет Yesзначение, то поддерживается двусторонняя привязка данных.This means that if the Bindable property is Yes, then two-way data binding is supported. Если Bindable имеет Noзначение, можно по-прежнему привязывать к свойству, но оно не должно отображаться в наборе свойств по умолчанию для привязки, так как он может или не может вызвать уведомление об изменении свойства.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.

Примечание

Если свойство BindableAttribute Yesпомечается значением, значение этого атрибута устанавливается равным элементу Constant. trueWhen you mark a property with BindableAttribute set to true, the value of this attribute is set to the constant member Yes. Для свойства BindableAttribute false, помеченного значением, значение равно No.For a property marked with the BindableAttribute set to false, the value is No. Таким образом, чтобы проверить значение этого атрибута в коде, необходимо указать атрибут как BindableAttribute.Yes или. BindableAttribute.NoTherefore, to check the value of this attribute in your code, you must specify the attribute as BindableAttribute.Yes or BindableAttribute.No.

Внимание!

Этот атрибут можно использовать только во время разработки.You can use this attribute at design time only. Ничто не предотвращает привязку к любому свойству во время выполнения.Nothing prevents you from binding to any property during run time.

Дополнительные сведения см. в разделе Атрибуты.For more information, see Attributes.

Конструкторы

BindableAttribute(BindableSupport)

Инициализирует новый экземпляр класса BindableAttribute с использованием одного из стандартных значений BindableSupport.Initializes a new instance of the BindableAttribute class with one of the BindableSupport values.

BindableAttribute(BindableSupport, BindingDirection)

Инициализирует новый экземпляр класса BindableAttribute.Initializes a new instance of the BindableAttribute class.

BindableAttribute(Boolean)

Инициализирует новый экземпляр класса BindableAttribute, используя значение типа Boolean.Initializes a new instance of the BindableAttribute class with a Boolean value.

BindableAttribute(Boolean, BindingDirection)

Инициализирует новый экземпляр класса BindableAttribute.Initializes a new instance of the BindableAttribute class.

Поля

Default

Задает значение по умолчанию для атрибута BindableAttribute, равное No.Specifies the default value for the BindableAttribute, which is No. Это поле доступно только для чтения.This field is read-only.

No

Указывает, что свойство не предназначено для привязки данных.Specifies that a property is not typically used for binding. Это поле доступно только для чтения.This field is read-only.

Yes

Указывает, что это свойство обычно используется для привязки данных.Specifies that a property is typically used for binding. Это поле доступно только для чтения.This field is read-only.

Свойства

Bindable

Возвращает значение, указывающее, что свойство обычно используется для привязки данных.Gets a value indicating that a property is typically used for binding.

Direction

Возвращает значение, показывающее направление или направления этого связывания данных со свойством.Gets a value indicating the direction or directions of this property's data binding.

TypeId

При реализации в производном классе возвращает уникальный идентификатор для этого Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Унаследовано от Attribute)

Методы

Equals(Object)

Определяет равенство двух объектов BindableAttribute.Determines whether two BindableAttribute objects are equal.

GetHashCode()

Служит хэш-функцией для класса BindableAttribute.Serves as a hash function for the BindableAttribute class.

GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
IsDefaultAttribute()

Определяет, является ли этот атрибут используемым по умолчанию.Determines if this attribute is the default.

Match(Object)

При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Унаследовано от Attribute)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Явные реализации интерфейса

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

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.Maps a set of names to a corresponding set of dispatch identifiers.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к открытым свойствам и методам объекта.Provides access to properties and methods exposed by an object.

(Унаследовано от Attribute)

Применяется к

Дополнительно