DependencyPropertyKey Klasa

Definicja

Udostępnia identyfikator właściwości zależności dla ograniczonego dostępu do zapisu do właściwości zależności tylko do odczytu.

public ref class DependencyPropertyKey sealed
public sealed class DependencyPropertyKey
type DependencyPropertyKey = class
Public NotInheritable Class DependencyPropertyKey
Dziedziczenie
DependencyPropertyKey

Przykłady

Poniższy przykład rejestruje właściwość zależności tylko do odczytu, a także używa klucza do dwóch celów w innych elementach członkowskich klasy: implementowanie "otoki" i jako identyfikator chronionej operacji określania, która ustawia wartość na podstawie obliczeń innych wartości właściwości.

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

Uwagi

DependencyPropertyKey wystąpienia są uzyskiwane jako wartość zwracana wywołania rejestracji właściwości zależności przy użyciu metod RegisterReadOnly lub RegisterAttachedReadOnly.

Typy, które rejestrują właściwość zależności, mogą używać DependencyPropertyKey wywołań in do SetValue i ClearValue które dostosowują wartość właściwości w ramach logiki klasy. Jeśli jest to dozwolone przez poziom dostępu klucza, powiązane klasy mogą również używać klucza i właściwości zależności. Można na przykład zadeklarować klucz jako wewnętrzny, a inne typy w tym samym zestawie mogą również ustawić tę właściwość zależności.

Zwrócona DependencyPropertyKey przez rejestrację właściwości zależności tylko do odczytu nie powinna być publiczna, ponieważ uwidacznianie klucza sprawia, że właściwość jest ustawiana w formie tabeli ustawianej, a tym samym pokonując punkt rejestrowania go jako właściwość zależności tylko do odczytu. Ponadto uwidacznianie klucza powoduje niezgodność między dostępnymi zachowaniami właściwości zależności a implementacjami otoki właściwości środowiska uruchomieniowego języka wspólnego (CLR), co jest złym projektem klasy.

Zamiast uwidaczniać sam klucz, należy zamiast tego uwidocznić DependencyProperty wartość DependencyPropertyKey jako element public static readonlyDependencyProperty w klasie. Dzięki temu właściwość zwraca prawidłowy identyfikator właściwości zależności dla niektórych operacji systemu właściwości, takich jak wyliczanie wartości ustawionych lokalnie. Jednak uzyskany identyfikator nie ma pełnych DependencyProperty możliwości dla wielu operacji systemu właściwości.

Właściwości

DependencyProperty

Pobiera identyfikator właściwości zależności skojarzony z tym wyspecjalizowanym identyfikatorem właściwości zależności tylko do odczytu.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OverrideMetadata(Type, PropertyMetadata)

Zastępuje metadane właściwości zależności tylko do odczytu reprezentowanej przez ten identyfikator właściwości zależności.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też