BindableAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет, используется ли обычно член для привязки данных. Этот класс не наследуется.
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
- Наследование
- Атрибуты
Примеры
В следующем примере кода свойство помечает как соответствующее для привязки данных.
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 для .MyProperty
Во-первых, код получает все PropertyDescriptorCollection свойства объекта. Затем индексы кода в получаемом объекте PropertyDescriptorCollection MyProperty
. Наконец, код возвращает атрибуты для этого свойства и сохраняет их в переменной атрибутов. В примере кода представлены два разных способа проверки значения BindableAttribute. Во втором фрагменте кода в примере вызывается Equals метод. В последнем фрагменте кода в примере используется Bindable свойство для проверки значения.
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класс с помощью этого класса, используйте следующий пример кода для проверки значения.
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
Комментарии
Этот атрибут можно указать для нескольких элементов, как правило, свойств элемента управления.
Если свойство помечено BindableAttribute с заданным значением true
, для этого свойства должно быть создано уведомление об изменении свойства. Это означает, что если Bindable свойство имеет значение Yes, то поддерживается двусторонняя привязка данных. В противном Bindable случае Noможно выполнить привязку к свойству, но его не следует отображать в наборе свойств по умолчанию для привязки, так как оно может или не вызывать уведомление об изменении свойства.
Примечание
При пометки свойства BindableAttribute с заданным true
значением значение этого атрибута задается константным элементом Yes. Для свойства, помеченного с заданным BindableAttribute значением false
, используется значение No. Таким образом, чтобы проверить значение этого атрибута в коде, необходимо указать атрибут как BindableAttribute.Yes или BindableAttribute.No.
Внимание!
Этот атрибут можно использовать только во время разработки. Ничто не препятствует привязке к любому свойству во время выполнения.
Дополнительные сведения см. в разделе Атрибуты.
Конструкторы
BindableAttribute(BindableSupport) |
Инициализирует новый экземпляр класса BindableAttribute с использованием одного из стандартных значений BindableSupport. |
BindableAttribute(BindableSupport, BindingDirection) |
Инициализирует новый экземпляр класса BindableAttribute. |
BindableAttribute(Boolean) |
Инициализирует новый экземпляр класса BindableAttribute, используя значение типа Boolean. |
BindableAttribute(Boolean, BindingDirection) |
Инициализирует новый экземпляр класса 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) |