Прочитать на английском

Поделиться через


BindableAttribute Класс

Определение

Указывает, используется ли элемент для привязки. Этот класс не может быть унаследован.

[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class BindableAttribute : Attribute
Наследование
BindableAttribute
Атрибуты

Примеры

В следующем примере кода свойство помечает свойство соответствующим образом для привязки данных.

[Bindable(true)]
 public int MyProperty {
    get {
       // Insert code here.
       return 0;
    }
    set {
       // Insert code here.
    }
 }

В следующем примере кода показано, как проверить значение BindableAttribute для MyProperty. Во-первых, код получает PropertyDescriptorCollection со всеми свойствами объекта. Затем индексирует код в PropertyDescriptorCollection, чтобы получить MyProperty. Наконец, код возвращает атрибуты для этого свойства и сохраняет их в переменной атрибутов. В примере кода представлены два разных способа проверки значения BindableAttribute. Во втором фрагменте кода пример вызывает метод Equals. В последнем фрагменте кода в примере используется свойство Bindable для проверки значения.

   // 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.
}

Если вы помечаете класс с помощью BindableAttribute, используйте следующий пример кода, чтобы проверить значение.

AttributeCollection attributes =
    TypeDescriptor.GetAttributes(MyProperty);
 if(attributes[typeof(BindableAttribute)].Equals(BindableAttribute.Yes)) {
    // Insert code here.
 }

Комментарии

Этот атрибут можно указать для нескольких элементов, как правило, свойств в элементе управления.

Если свойство отмечено значением BindableAttribute задано значение true, то для этого свойства необходимо создать уведомление об изменении свойства. Это означает, что если свойство BindableYes, то поддерживается двусторонняя привязка данных. Если BindableNo, вы по-прежнему можете привязаться к свойству, но его не следует отображать в наборе свойств по умолчанию для привязки, так как это может или не может вызвать уведомление об изменении свойства.

Примечание

Если пометить свойство с BindableAttribute значение true, значение этого атрибута присваивается константным Yes. Для свойства, помеченного BindableAttributefalse, значение равно No. Таким образом, чтобы проверить значение этого атрибута в коде, необходимо указать атрибут как BindableAttribute.Yes или BindableAttribute.No.

Внимание!

Этот атрибут можно использовать только во время разработки. Ничего не препятствует привязке к любому свойству во время выполнения.

Дополнительные сведения см. в разделе Атрибуты.

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

BindableAttribute(BindableSupport, BindingDirection)

Инициализирует новый экземпляр класса BindableAttribute.

BindableAttribute(BindableSupport)

Инициализирует новый экземпляр класса BindableAttribute с одним из BindableSupport значений.

BindableAttribute(Boolean, BindingDirection)

Инициализирует новый экземпляр класса BindableAttribute.

BindableAttribute(Boolean)

Инициализирует новый экземпляр класса BindableAttribute с логическим значением.

Поля

Default

Задает значение по умолчанию для BindableAttribute, которое No. Это поле доступно только для чтения.

No

Указывает, что свойство обычно не используется для привязки. Это поле доступно только для чтения.

Yes

Указывает, что свойство обычно используется для привязки. Это поле доступно только для чтения.

Свойства

Bindable

Возвращает значение, указывающее, что свойство обычно используется для привязки.

Direction

Возвращает значение, указывающее направление или направление привязки данных этого свойства.

TypeId

При реализации в производном классе получает уникальный идентификатор для этого Attribute.

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

Методы

Equals(Object)

Определяет, равны ли два объекта BindableAttribute.

GetHashCode()

Служит хэш-функцией для класса BindableAttribute.

GetType()

Возвращает Type текущего экземпляра.

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

Определяет, является ли этот атрибут значением по умолчанию.

Match(Object)

При переопределении в производном классе возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

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

Создает неглубокую копию текущей Object.

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

Возвращает строку, представляющую текущий объект.

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

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

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

Сопоставляет набор имен с соответствующим набором идентификаторов диспетчера.

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

Извлекает сведения о типе объекта, который можно использовать для получения сведений о типе для интерфейса.

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

Извлекает количество интерфейсов сведений о типе, которые предоставляет объект (0 или 1).

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

Предоставляет доступ к свойствам и методам, предоставляемым объектом.

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

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

Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

См. также раздел