DependencyPropertyKey Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 readonly
DependencyProperty 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) |