DependencyPropertyKey Třída

Definice

Poskytuje identifikátor vlastnosti závislosti pro omezený přístup k zápisu do vlastnosti závislosti jen pro čtení.

public ref class DependencyPropertyKey sealed
public sealed class DependencyPropertyKey
type DependencyPropertyKey = class
Public NotInheritable Class DependencyPropertyKey
Dědičnost
DependencyPropertyKey

Příklady

Následující příklad zaregistruje vlastnost závislosti jen pro čtení a používá klíč pro dva účely v jiných členech třídy: implementace Get "wrapper" a jako identifikátor pro operaci chráněného určení, která nastavuje hodnotu na základě výpočtů jiných hodnot vlastností.

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

Poznámky

DependencyPropertyKey instance se získávají jako návratová hodnota volání vlastnosti závislosti pomocí metod RegisterReadOnly nebo RegisterAttachedReadOnly .

Typy, které registrují vlastnost závislosti, mohou použít DependencyPropertyKey v volání v SetValue a ClearValue , které upraví hodnotu vlastnosti jako součást logiky třídy. Pokud je povoleno úrovní přístupu klíče, související třídy mohou také používat klíč a vlastnost Dependency. Můžete například deklarovat klíč jako interní a další typy v rámci stejného sestavení mohou také nastavit tuto vlastnost závislosti.

DependencyPropertyKeyRegistrace vlastnosti závislosti jen pro čtení by neměla být zveřejněna, protože k vystavení klíče se dá nastavit vlastnost, takže se bod registrace nastaví jako vlastnost závislosti jen pro čtení. Vystavení klíče také způsobí neshodu mezi dostupným chováním vlastností závislosti a jeho obálkovou implementací vlastností CLR (Common Language Runtime), což je chybný návrh třídy.

Místo vystavení samotného klíče byste místo toho měli zveřejnit DependencyProperty hodnotu DependencyPropertyKey jako a public static readonly DependencyProperty ve vaší třídě. Díky tomu může vlastnost vracet platný identifikátor vlastnosti závislosti pro určité operace se systémem vlastností, jako je například vytváření výčtu hodnot v místním nastavení. Takto získaný identifikátor však nemá úplné možnosti DependencyProperty pro mnoho operací systému vlastností.

Vlastnosti

DependencyProperty

Získá identifikátor vlastnosti závislosti přidružený k tomuto specializovanému identifikátoru vlastnosti závislosti jen pro čtení.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří kopii aktuálního seznamu Object .

(Zděděno od Object)
OverrideMetadata(Type, PropertyMetadata)

Přepíše metadata vlastnosti závislosti jen pro čtení, která je reprezentovaná tímto identifikátorem vlastnosti závislosti.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také