DependencyPropertyKey Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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) |