Freigeben über


DependencyPropertyKey Klasse

Definition

Stellt einen Abhängigkeitseigenschaftsbezeichner für eingeschränkten Schreibzugriff auf eine schreibgeschützte Abhängigkeitseigenschaft bereit.

public ref class DependencyPropertyKey sealed
public sealed class DependencyPropertyKey
type DependencyPropertyKey = class
Public NotInheritable Class DependencyPropertyKey
Vererbung
DependencyPropertyKey

Beispiele

Im folgenden Beispiel wird eine schreibgeschützte Abhängigkeitseigenschaft registriert und der Schlüssel auch für zwei Zwecke in anderen Klassenmember verwendet: Implementieren des "Wrappers" und als Bezeichner für einen geschützten Bestimmungsvorgang, der den Wert basierend auf Berechnungen anderer Eigenschaftswerte festlegt.

internal static readonly DependencyPropertyKey AquariumSizeKey = DependencyProperty.RegisterReadOnly(
  "AquariumSize",
  typeof(double),
  typeof(Aquarium),
  new PropertyMetadata(double.NaN)
);
public static readonly DependencyProperty AquariumSizeProperty =
  AquariumSizeKey.DependencyProperty;
public double AquariumSize
{
  get { return (double)GetValue(AquariumSizeProperty); }
}
Friend Shared ReadOnly AquariumSizeKey As DependencyPropertyKey = DependencyProperty.RegisterReadOnly("AquariumSize", GetType(Double), GetType(Aquarium), New PropertyMetadata(Double.NaN))
Public Shared ReadOnly AquariumSizeProperty As DependencyProperty = AquariumSizeKey.DependencyProperty
Public ReadOnly Property AquariumSize() As Double
    Get
        Return CDbl(GetValue(AquariumSizeProperty))
    End Get
End Property

Hinweise

DependencyPropertyKey Instanzen werden als Rückgabewert eines Registrierungsaufrufs von Abhängigkeitseigenschaften mithilfe der Methoden RegisterReadOnly oder RegisterAttachedReadOnlyabgerufen.

Die Typen, die eine Abhängigkeitseigenschaft registrieren, können die DependencyPropertyKey in Aufrufen von SetValue und ClearValue verwenden, die den Wert der Eigenschaft als Teil der Klassenlogik anpassen. Wenn die Zugriffsstufe des Schlüssels zulässig ist, können verwandte Klassen auch den Schlüssel und die Abhängigkeitseigenschaft verwenden. Beispielsweise können Sie den Schlüssel als intern deklarieren, und andere Typen innerhalb derselben Assembly können diese Abhängigkeitseigenschaft auch festlegen.

Die von der schreibgeschützten Abhängigkeitseigenschaftsregistrierung zurückgegebene DependencyPropertyKey sollte nicht öffentlich gemacht werden, da durch die Veröffentlichung des Schlüssels die Eigenschaft festgelegt werden kann, wodurch der Punkt der Registrierung als schreibgeschützte Abhängigkeitseigenschaft verhindert wird. Außerdem führt das Verfügbarmachen des Schlüssels zu einem Konflikt zwischen dem verfügbaren Verhalten der Abhängigkeitseigenschaft und den Implementierungen der CLR-Eigenschaft (Common Language Runtime), was ein schlechtes Klassendesign darstellt.

Anstatt den Schlüssel selbst verfügbar zu machen, sollten Sie stattdessen den DependencyProperty Wert der DependencyPropertyKey als public static readonlyDependencyProperty für Ihre Klasse verfügbar machen. Dadurch kann die Eigenschaft einen gültigen Bezeichner für Abhängigkeitseigenschaften für bestimmte Eigenschaftensystemvorgänge zurückgeben, z. B. das Aufzählen von lokal festgelegten Werten. Der so abgerufene Bezeichner verfügt jedoch nicht über die vollständigen Funktionen eines DependencyProperty für viele Eigenschaftensystemvorgänge.

Eigenschaften

DependencyProperty

Ruft den Abhängigkeitseigenschaftsbezeichner ab, der diesem speziellen schreibgeschützten Abhängigkeitseigenschaftsbezeichner zugeordnet ist.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
OverrideMetadata(Type, PropertyMetadata)

Überschreibt die Metadaten einer schreibgeschützten Abhängigkeitseigenschaft, die durch diesen Abhängigkeitseigenschaftsbezeichner dargestellt wird.

ToString()

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

(Geerbt von Object)

Gilt für:

Weitere Informationen