AmbientValueAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает значение, передаваемое свойству, чтобы вызвать получение свойства из другого источника. Это называется . Этот класс не может быть унаследован.
public ref class AmbientValueAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class AmbientValueAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All)>]
type AmbientValueAttribute = class
inherit Attribute
Public NotInheritable Class AmbientValueAttribute
Inherits Attribute
- Наследование
- Атрибуты
Примеры
В следующем примере кода демонстрируется применение AmbientValueAttribute внешнего поведения для вызываемого AlertForeColorсвойства. Полный список кода см. в разделе "Практическое руководство. Применение атрибутов в элементах управления Windows Forms".
[AmbientValue(typeof(Color), "Empty")]
[Category("Appearance")]
[DefaultValue(typeof(Color), "White")]
[Description("The color used for painting alert text.")]
public Color AlertForeColor
{
get =>
_alertForeColorValue == Color.Empty &&
Parent != null
? Parent.ForeColor
: _alertForeColorValue;
set => _alertForeColorValue = value;
}
// This method is used by designers to enable resetting the
// property to its default value.
public void ResetAlertForeColor() =>
AlertForeColor = s_defaultAlertForeColorValue;
// This method indicates to designers whether the property
// value is different from the ambient value, in which case
// the designer should persist the value.
bool ShouldSerializeAlertForeColor() =>
_alertForeColorValue != s_ambientColorValue;
<AmbientValue(GetType(Color), "Empty"), _
Category("Appearance"), _
DefaultValue(GetType(Color), "White"), _
Description("The color used for painting alert text.")> _
Public Property AlertForeColor() As Color
Get
If Me.alertForeColorValue = Color.Empty AndAlso (Me.Parent IsNot Nothing) Then
Return Parent.ForeColor
End If
Return Me.alertForeColorValue
End Get
Set(ByVal value As Color)
Me.alertForeColorValue = value
End Set
End Property
' This method is used by designers to enable resetting the
' property to its default value.
Public Sub ResetAlertForeColor()
Me.AlertForeColor = AttributesDemoControl.defaultAlertForeColorValue
End Sub
' This method indicates to designers whether the property
' value is different from the ambient value, in which case
' the designer should persist the value.
Private Function ShouldSerializeAlertForeColor() As Boolean
Return Me.alertForeColorValue <> AttributesDemoControl.ambientColorValue
End Function
Комментарии
Если свойство элемента управления имеет внешнее поведение, этот атрибут должен присутствовать. Внешние свойства запрашивают родительское Control.Font значение, например свойство или Control.BackColor свойство.
Как правило, визуальный конструктор использует AmbientValueAttribute атрибут для выбора значения, которое следует сохранить для свойства. Обычно это значение, которое приводит к получению свойства из другого источника. Примером внешнего значения является Color.Empty значение среды для BackColor свойства. Если у вас есть элемент управления в форме, а BackColor свойство элемента управления имеет другой цвет, отличный BackColor от свойства формы, можно сбросить BackColor свойство элемента управления в форму, задав BackColor для элемента управления значение Color.Empty.
Конструкторы
| Имя | Описание |
|---|---|
| AmbientValueAttribute(Boolean) |
Инициализирует новый экземпляр AmbientValueAttribute класса, учитывая логическое значение для его значения. |
| AmbientValueAttribute(Byte) |
Инициализирует новый экземпляр AmbientValueAttribute класса, учитывая 8-разрядное целое число без знака для его значения. |
| AmbientValueAttribute(Char) |
Инициализирует новый экземпляр AmbientValueAttribute класса, учитывая символ Юникода для его значения. |
| AmbientValueAttribute(Double) |
Инициализирует новый экземпляр AmbientValueAttribute класса с двойной точностью с плавающей запятой для его значения. |
| AmbientValueAttribute(Int16) |
Инициализирует новый экземпляр AmbientValueAttribute класса, учитывая 16-разрядное целое число со знаком для его значения. |
| AmbientValueAttribute(Int32) |
Инициализирует новый экземпляр AmbientValueAttribute класса, учитывая 32-разрядное целое число со знаком для его значения. |
| AmbientValueAttribute(Int64) |
Инициализирует новый экземпляр AmbientValueAttribute класса, учитывая 64-разрядное целое число со знаком для его значения. |
| AmbientValueAttribute(Object) |
Инициализирует новый экземпляр AmbientValueAttribute класса, учитывая объект для его значения. |
| AmbientValueAttribute(Single) |
Инициализирует новый экземпляр AmbientValueAttribute класса с одной точностью с плавающей запятой для его значения. |
| AmbientValueAttribute(String) |
Инициализирует новый экземпляр AmbientValueAttribute класса, учитывая строку для его значения. |
| AmbientValueAttribute(Type, String) |
Инициализирует новый экземпляр AmbientValueAttribute класса, учитывая значение и его тип. |
Свойства
| Имя | Описание |
|---|---|
| TypeId |
При реализации в производном классе получает уникальный идентификатор для этого Attribute. (Унаследовано от Attribute) |
| Value |
Возвращает объект, который является значением этого AmbientValueAttributeобъекта. |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Определяет, равен ли указанный параметр AmbientValueAttribute текущему AmbientValueAttribute. |
| GetHashCode() |
Возвращает хэш-код для этого экземпляра. |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| IsDefaultAttribute() |
При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса. (Унаследовано от Attribute) |
| 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) |