AmbientValueAttribute Klasse

Definition

Gibt den Wert an, der an eine Eigenschaft übergeben werden soll, damit die Eigenschaft den zugehörigen Wert von einer anderen Quelle abrufen kann. Dies wird als Umgebung bezeichnet. Diese Klasse kann nicht vererbt werden.

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
Vererbung
AmbientValueAttribute
Attribute

Beispiele

Das folgende Codebeispiel veranschaulicht die Verwendung von AmbientValueAttribute zum Erzwingen des Umgebungsverhaltens für eine Eigenschaft namens AlertForeColor. Eine vollständige Codeauflistung finden Sie unter Vorgehensweise: Anwenden von Attributen in Windows Forms-Steuerelementen.

[AmbientValue(typeof(Color), "Empty")]
[Category("Appearance")]
[DefaultValue(typeof(Color), "White")]
[Description("The color used for painting alert text.")]
public Color AlertForeColor
{
    get
    {
        if (this.alertForeColorValue == Color.Empty &&
            this.Parent != null)
        {
            return Parent.ForeColor;
        }

        return this.alertForeColorValue;
    }

    set
    {
        this.alertForeColorValue = value;
    }
}

// This method is used by designers to enable resetting the
// property to its default value.
public void ResetAlertForeColor()
{
    this.AlertForeColor = AttributesDemoControl.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.
private bool ShouldSerializeAlertForeColor()
{
    return (this.alertForeColorValue != AttributesDemoControl.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

Hinweise

Wenn eine Eigenschaft eines Steuerelements ein Ambient-Verhalten aufweist, muss dieses Attribut vorhanden sein. Ambient-Eigenschaften fragen ihr übergeordnetes Element nach ihrem Wert ab, z. B. eine Control.Font Eigenschaft oder eine Control.BackColor Eigenschaft.

In der Regel verwendet ein visueller Designer das AmbientValueAttribute -Attribut, um zu entscheiden, welcher Wert für eine Eigenschaft beibehalten werden soll. Dies ist in der Regel ein Wert, der bewirkt, dass die Eigenschaft ihren Wert aus einer anderen Quelle erhält. Ein Beispiel für einen Ambient-Wert ist Color.Empty der Ambient-Wert für die BackColor -Eigenschaft. Wenn Sie über ein Steuerelement auf einem Formular verfügen und die BackColor -Eigenschaft des Steuerelements auf eine andere Farbe als die BackColor -Eigenschaft des Formulars festgelegt ist, können Sie die BackColor -Eigenschaft des Steuerelements auf die des Formulars zurücksetzen, indem Sie die BackColor -Eigenschaft des -Steuerelements auf Color.Emptyfestlegen.

Konstruktoren

AmbientValueAttribute(Boolean)

Initialisiert eine neue Instanz der AmbientValueAttribute-Klasse, sofern für ihren Wert ein boolescher Wert angegeben ist.

AmbientValueAttribute(Byte)

Initialisiert eine neue Instanz der AmbientValueAttribute-Klasse, sofern für ihren Wert eine vorzeichenlose 8-Bit-Ganzzahl angegeben ist.

AmbientValueAttribute(Char)

Initialisiert eine neue Instanz der AmbientValueAttribute-Klasse, sofern für ihren Wert ein Unicode-Zeichen angegeben ist.

AmbientValueAttribute(Double)

Initialisiert eine neue Instanz der AmbientValueAttribute-Klasse, sofern für ihren Wert eine Gleitkommazahl mit doppelter Genauigkeit angegeben ist.

AmbientValueAttribute(Int16)

Initialisiert eine neue Instanz der AmbientValueAttribute-Klasse, sofern für ihren Wert eine 16-Bit-Ganzzahl mit Vorzeichen angegeben ist.

AmbientValueAttribute(Int32)

Initialisiert eine neue Instanz der AmbientValueAttribute-Klasse, sofern für ihren Wert eine 32-Bit-Ganzzahl mit Vorzeichen angegeben ist.

AmbientValueAttribute(Int64)

Initialisiert eine neue Instanz der AmbientValueAttribute-Klasse, sofern für ihren Wert eine 64-Bit-Ganzzahl mit Vorzeichen angegeben ist.

AmbientValueAttribute(Object)

Initialisiert eine neue Instanz der AmbientValueAttribute-Klasse, sofern für ihren Wert ein Objekt angegeben ist.

AmbientValueAttribute(Single)

Initialisiert eine neue Instanz der AmbientValueAttribute-Klasse, sofern für ihren Wert eine Gleitkommazahl mit einfacher Genauigkeit angegeben ist.

AmbientValueAttribute(String)

Initialisiert eine neue Instanz der AmbientValueAttribute-Klasse, sofern für ihren Wert eine Zeichenfolge angegeben ist.

AmbientValueAttribute(Type, String)

Initialisiert eine neue Instanz der AmbientValueAttribute-Klasse, sofern der Wert und dessen Typ angegeben sind.

Eigenschaften

TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.

(Geerbt von Attribute)
Value

Ruft das Objekt ab, das der Wert dieses AmbientValueAttribute ist.

Methoden

Equals(Object)

Bestimmt, ob das angegebene AmbientValueAttribute und das aktuelle AmbientValueAttribute gleich sind.

GetHashCode()

Gibt den Hashcode für diese Instanz zurück.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.

(Geerbt von Attribute)
Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

(Geerbt von Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.

(Geerbt von Attribute)

Gilt für: