Nyelv

DependencyPropertyKey Osztály

Definíció

Függőségi tulajdonságazonosítót biztosít, amely korlátozott írási hozzáférést biztosít egy írásvédett függőségi tulajdonsághoz.

public ref class DependencyPropertyKey sealed
public sealed class DependencyPropertyKey
type DependencyPropertyKey = class
Public NotInheritable Class DependencyPropertyKey
Öröklődés
DependencyPropertyKey

Példák

Az alábbi példa egy írásvédett függőségi tulajdonságot regisztrál, és a kulcsot két célra is használja a többi osztálytagban: a get "burkoló" implementálása, valamint egy védett meghatározási művelet azonosítójaként, amely az értéket más tulajdonságértékek számításai alapján állítja be.

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

Megjegyzések

DependencyPropertyKey a példányok egy függőségi tulajdonságregisztrációs hívás visszatérési értékeként jelennek meg a metódusok RegisterReadOnly vagy RegisterAttachedReadOnlya .

A függőségi tulajdonságot regisztráló típusok használhatják a DependencyPropertyKey bejövő hívásokat SetValue , és ClearValue az osztálylogika részeként módosíthatják a tulajdonság értékét. Ha a kulcs hozzáférési szintje engedélyezi, a kapcsolódó osztályok a kulcsot és a függőségi tulajdonságot is használhatják. A kulcsot például belsőként deklarálhatja, és az ugyanazon a szerelvényen belüli egyéb típusok is beállíthatják ezt a függőségi tulajdonságot.

Az DependencyPropertyKey írásvédett függőségi tulajdonságregisztráció által visszaadott értéket nem szabad nyilvánossá tenni, mert a kulcs felfedésével a tulajdonság beállíthatóvá válik, így nem lehet írásvédett függőségi tulajdonságként regisztrálni. A kulcs felfedése a rendelkezésre álló függőségi tulajdonság viselkedése és a közös nyelvi futtatókörnyezet (CLR) tulajdonságburkoló implementációi közötti eltérést is okoz, ami rossz osztályterv.

A kulcs felfedése helyett inkább az DependencyProperty osztályban kell felfednie a DependencyPropertyKeypublic static readonlyDependencyProperty kulcs értékét. Ez lehetővé teszi, hogy a tulajdonság érvényes függőségi tulajdonságazonosítót adjon vissza bizonyos tulajdonságrendszer-műveletekhez, például a helyileg beállított értékek számbavételéhez. Az így kapott azonosító azonban nem rendelkezik a számos tulajdonságrendszer-művelet teljes képességeivel DependencyProperty .

Tulajdonságok

Name Description
DependencyProperty

Lekéri a speciális írásvédett függőségi tulajdonságazonosítóhoz társított függőségi tulajdonságazonosítót.

Metódusok

Name Description
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
OverrideMetadata(Type, PropertyMetadata)

Felülírja egy írásvédett függőségi tulajdonság metaadatait, amelyet ez a függőségi tulajdonságazonosító jelöl.

ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes:

Lásd még