DependencyPropertyKey Třída

Definice

Poskytuje identifikátor vlastnosti závislosti pro omezený přístup k zápisu do vlastnosti závislosti jen pro čtení.Provides a dependency property identifier for limited write access to a read-only dependency property.

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í.The following example registers a read-only dependency property, and also uses the key for two purposes in other class members: implementing the get "wrapper", and as the identifier for a protected determination operation that sets the value based on calculations of other property values.

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

DependencyPropertyKeyinstance se získávají jako návratová hodnota volání vlastnosti závislosti pomocí metod RegisterReadOnly nebo RegisterAttachedReadOnly .DependencyPropertyKey instances are obtained as the return value of a dependency property registration call using the methods RegisterReadOnly or 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.The types that register a dependency property can use the DependencyPropertyKey in calls to SetValue and ClearValue that adjust the property's value as part of class logic. Pokud je povoleno úrovní přístupu klíče, související třídy mohou také používat klíč a vlastnost Dependency.If permitted by the access level of the key, related classes can use the key and the dependency property also. Můžete například deklarovat klíč jako interní a další typy v rámci stejného sestavení mohou také nastavit tuto vlastnost závislosti.For instance, you can declare the key as internal, and other types within the same assembly can also set that dependency property.

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í.The DependencyPropertyKey returned by read-only dependency property registration should not be made public, because exposing the key makes the property settable, thus defeating the point of registering it as a read-only dependency property. Vystavení klíče také způsobí neshodu mezi dostupným chováním vlastností závislosti a jeho Common Language Runtime (CLR)common language runtime (CLR) implementacemi obálky vlastností, což je chybný návrh třídy.Also, exposing the key causes a mismatch between the available dependency property behaviors and its Common Language Runtime (CLR)common language runtime (CLR) property wrapper implementations, which is bad class design.

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ě.Instead of exposing the key itself, you should instead expose the DependencyProperty value of the DependencyPropertyKey as a public static readonlyDependencyProperty on your class. 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í.This enables the property to return a valid dependency property identifier for certain property system operations such as enumerating locally set values. Takto získaný identifikátor však nemá úplné možnosti DependencyProperty pro mnoho operací systému vlastností.However, the identifier thus obtained does not have the full capabilities of a DependencyProperty for many property system operations.

Vlastnosti

DependencyProperty

Získá identifikátor vlastnosti závislosti přidružený k tomuto specializovanému identifikátoru vlastnosti závislosti jen pro čtení.Gets the dependency property identifier associated with this specialized read-only dependency property identifier.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

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

Slouží jako výchozí funkce hash.Serves as the default hash function.

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

Získá Type aktuální instanci.Gets the Type of the current instance.

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

Vytvoří kopii aktuálního seznamu Object .Creates a shallow copy of the current 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.Overrides the metadata of a read-only dependency property that is represented by this dependency property identifier.

ToString()

Vrátí řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Zděděno od Object)

Platí pro

Viz také