Udostępnij za pośrednictwem


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 dla 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 rejestrujące właściwość zależności mogą używać DependencyPropertyKey w wywołaniach 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.

DependencyPropertyKey zwrócone przez rejestrację właściwości zależności tylko do odczytu nie powinny być publiczne, ponieważ uwidacznianie klucza sprawia, że właściwość jest ustawiana w ten sposób, 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ć wartość DependencyPropertyDependencyPropertyKey jako public static readonlyDependencyProperty w klasie. Dzięki temu właściwość może zwrócić 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 możliwości DependencyProperty 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 określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetHashCode()

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

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

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

(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ż