DependencyPropertyKey.DependencyProperty DependencyPropertyKey.DependencyProperty DependencyPropertyKey.DependencyProperty DependencyPropertyKey.DependencyProperty Property

Definition

Ruft den Bezeichner einer Abhängigkeitseigenschaft ab, der diesem Bezeichner einer spezialisierten schreibgeschützten Abhängigkeitseigenschaft zugeordnet ist.Gets the dependency property identifier associated with this specialized read-only dependency property identifier.

public:
 property System::Windows::DependencyProperty ^ DependencyProperty { System::Windows::DependencyProperty ^ get(); };
public System.Windows.DependencyProperty DependencyProperty { get; }
member this.DependencyProperty : System.Windows.DependencyProperty
Public ReadOnly Property DependencyProperty As DependencyProperty

Eigenschaftswert

Der relevante Bezeichner einer Abhängigkeitseigenschaft.The relevant dependency property identifier.

Beispiele

Im folgenden DependencyProperty Beispiel wird aufgerufen, um DependencyProperty den Bezeichner (AquariumGraphicProperty) AquariumGraphic für die schreibgeschützte Abhängigkeits Eigenschaft einer Klasse verfügbar zu machen.The following example calls DependencyProperty to expose the DependencyProperty identifier (AquariumGraphicProperty) for the AquariumGraphic read-only dependency property on a class. Das Beispiel zeigt auch die DependencyPropertyKey Erstellung (als internes Element) und den Get-Accessor für AquariumGraphic.The example also shows the DependencyPropertyKey creation (as an internal member) and the get accessor for AquariumGraphic.

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

Der DependencyProperty -Wert ermöglicht, dass der Bezeichner einer schreibgeschützten Eigenschaft an allgemeinen Eigenschafts System Vorgängen teilnimmt, indem einige der gleichen Schnittstellen verwendet werden, die für Abhängigkeits Eigenschaften mit Lese-/SchreibzugriffThe DependencyProperty value enables a read-only property's identifier to participate in common property system operations using some of the same interfaces as used for read-write dependency properties.

Um den Get-Eigenschafts Accessor für eine schreibgeschützte Abhängigkeits Eigenschaft zu implementieren, sollten Sie einen DependencyProperty Bezeichner für die Klasse erstellen und verfügbar machen.In order to implement the get property accessor for a read-only dependency property, you should create and expose a DependencyProperty identifier on your class. Bei diesem Verfahren werden zwei Ziele verfolgt:This serves two purposes:

  • Ihre eigene Klasse benötigt den DependencyProperty Bezeichner, um den Get-Accessor für den Eigenschafts Wrapper zu implementieren.Your own class needs the DependencyProperty identifier in order to implement the get accessor for the property wrapper. Verwenden DependencyProperty Sie als Parameter für den GetValue -Befehl, der den Get-Accessor implementiert.You use the DependencyProperty as a parameter for the GetValue call that implements the get accessor.

  • DependencyPropertyBezeichner machen Ihre Abhängigkeits Eigenschaft für das Eigenschaften System verfügbar, sodass andere Methoden, die auf Metadaten basieren, in einem Standardformular darauf zugreifen können.DependencyProperty identifiers expose your dependency property to the property system such that other methods that rely on metadata can access it in a standard form. Wenn Sie beispielsweise für einige GetLocalValueEnumerator DependencyObject aufgerufen und eine Enumeration von lokal festgelegten Eigenschaften (Werte und Bezeichnern) abgerufen haben, ist der für eine schreibgeschützte DependencyProperty Abhängigkeits Eigenschaft zurückgegebene Bezeichner der Wert und nicht der Schlüssel.For instance, if you called GetLocalValueEnumerator on some DependencyObject and obtained an enumeration of locally set properties (values and identifiers) the identifier returned for a read-only dependency property would be your DependencyProperty value rather than the key. Wenn Sie einen DependencyProperty Bezeichner nicht verfügbar machen, erhöht sich die Sicherheit der schreibgeschützten Abhängigkeits Eigenschaft in keiner Weise. es werden nur Vorgänge, die ihre Eigenschaft einbeziehen, für nachfolgende abgeleitete Klassen und Klassen Instanzen etwas schwieriger.Not exposing a DependencyProperty identifier does not increase the security of your read-only dependency property in any way, it just makes operations that involve your property more awkward both for subsequent derived classes and class instances.

Um den Bezeichner für die DependencyProperty Klasse verfügbar zu machen, müssen Sie direkt auf Ihren Schlüssel aufzurufen. DependencyPropertyTo expose the DependencyProperty identifier on your class, you call DependencyProperty directly on your key. Verwenden Sie diesen Wert, um public static readonly einen DependencyProperty Bezeichner für die-Klasse zu DependencyPropertyKeyerstellen, die dem entspricht.Use this value to create a public static readonlyDependencyProperty identifier on the class, which parallels the DependencyPropertyKey.

Gilt für:

Siehe auch