DependencyPropertyKey Klasse
TOC
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern
Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

DependencyPropertyKey-Klasse

 

Stellt einen Bezeichner für eine Abhängigkeitseigenschaft für den beschränkten Schreibzugriff auf eine schreibgeschützte Abhängigkeitseigenschaft bereit.

Namespace:   System.Windows
Assembly:  WindowsBase (in WindowsBase.dll)

System.Object
  System.Windows.DependencyPropertyKey

public sealed class DependencyPropertyKey

NameBeschreibung
System_CAPS_pubpropertyDependencyProperty

Ruft den Bezeichner einer Abhängigkeitseigenschaft ab, der diesem Bezeichner einer spezialisierten schreibgeschützten Abhängigkeitseigenschaft zugeordnet ist.

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von Object.)

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion. (Geerbt von Object.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von Object.)

System_CAPS_pubmethodOverrideMetadata(Type, PropertyMetadata)

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

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von Object.)

DependencyPropertyKey-Instanzen werden als Rückgabewert eines Registrierungsaufrufs der Abhängigkeitseigenschaft mit der RegisterReadOnly-Methode oder der RegisterAttachedReadOnly-Methode abgerufen.

Die Typen, die eine Abhängigkeitseigenschaft registrieren, können den DependencyPropertyKey in Aufrufen von SetValue und ClearValue zum Anpassen des Eigenschaftswerts im Rahmen der Klassenlogik verwenden.Sofern dies die Zugriffsebene des Schlüssels zulässt, können auch verwandte Klassen den Schlüssel und die Abhängigkeitseigenschaft verwenden.Sie können beispielsweise den Schlüssel als intern deklarieren, und andere Typen innerhalb derselben Assembly können die betreffende Abhängigkeitseigenschaft ebenfalls festlegen.

Der von der Registrierung der schreibgeschützten Abhängigkeitseigenschaft zurückgegebene DependencyPropertyKey darf nicht als öffentlich deklariert werden, da die Eigenschaft durch Verfügbarmachen des Schlüssels festgelegt werden kann, wodurch die Registrierung der Eigenschaft als schreibgeschützte Abhängigkeitseigenschaft aufgehoben werden würde.Durch das Verfügbarmachen des Schlüssels wird auch ein Konflikt zwischen dem Verhalten der verfügbaren Abhängigkeitseigenschaft und ihren Implementierungen von common language runtime (CLR)-Eigenschaftenwrappern verursacht. Dies stellt einen fehlerhaften Klassenentwurf dar.

Anstatt den Schlüssel selbst verfügbar zu machen, empfiehlt es sich, stattdessen den DependencyProperty-Wert des DependencyPropertyKey als public static readonlyDependencyProperty für die Klasse verfügbar zu machen.Dadurch kann die Eigenschaft einen gültigen Bezeichner für die Abhängigkeitseigenschaft für bestimmte Eigenschaften-Systemvorgänge zurückgeben, beispielsweise für das Aufzählen lokal festgelegter Werte.Der auf diese Weise erhaltene Bezeichner verfügt jedoch bei vielen Eigenschaften-Systemvorgängen nicht über alle Funktionen einer DependencyProperty.

Im folgenden Beispiel wird eine schreibgeschützte Abhängigkeitseigenschaft registriert. Zudem wird der Schlüssel in anderen Klassenmembern für zwei Zwecke verwendet: zum Implementieren des Get-Wrappers und als Bezeichner für einen geschützten Bestimmungsvorgang, bei dem der Wert auf der Grundlage von Berechnungen anderer Eigenschaftswerte festgelegt wird.

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); }
}

.NET Framework
Verfügbar seit 3.0

Öffentliche statische (in Visual Basic freigegebene) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Zurück zum Anfang
Anzeigen:
© 2016 Microsoft