Udostępnij za pośrednictwem


DependencyPropertyKey.DependencyProperty Właściwość

Definicja

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

public:
 property System::Windows::DependencyProperty ^ DependencyProperty { System::Windows::DependencyProperty ^ get(); };
public System.Windows.DependencyProperty DependencyProperty { get; }
member this.DependencyProperty : System.Windows.DependencyProperty
Public ReadOnly Property DependencyProperty As DependencyProperty

Wartość właściwości

Odpowiedni identyfikator właściwości zależności.

Przykłady

Poniższy przykład wywołuje DependencyProperty, aby uwidocznić identyfikator DependencyProperty (AquariumGraphicProperty) dla właściwości zależności tylko do odczytu AquariumGraphic dla klasy. W przykładzie pokazano również tworzenie DependencyPropertyKey (jako wewnętrzny element członkowski) oraz metodę uzyskiwania dostępu dla AquariumGraphic.

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

Wartość DependencyProperty umożliwia identyfikatorowi właściwości tylko do odczytu uczestniczyć w typowych operacjach systemu właściwości przy użyciu niektórych z tych samych interfejsów, które są używane dla właściwości zależności odczytu i zapisu.

Aby zaimplementować metodę dostępu właściwości get dla właściwości zależności tylko do odczytu, należy utworzyć i uwidocznić identyfikator DependencyProperty w klasie. Służy to dwóm celom:

  • Własna klasa wymaga identyfikatora DependencyProperty w celu zaimplementowania metody uzyskiwania dostępu do otoki właściwości. Należy użyć DependencyProperty jako parametru dla wywołania GetValue, które implementuje metodę uzyskiwania dostępu.

  • DependencyProperty identyfikatory uwidaczniają właściwość zależności systemowi właściwości, tak aby inne metody korzystające z metadanych mogły uzyskać do niej dostęp w postaci standardowej. Jeśli na przykład wywołano GetLocalValueEnumerator w niektórych DependencyObject i uzyskano wyliczenie właściwości zestawu lokalnego (wartości i identyfikatory), identyfikator zwrócony dla właściwości zależności tylko do odczytu będzie wartością DependencyProperty, a nie kluczem. Nie uwidacznianie identyfikatora DependencyProperty nie zwiększa bezpieczeństwa właściwości zależności tylko do odczytu w żaden sposób, tylko sprawia, że operacje obejmujące właściwość są bardziej niezręczne zarówno dla kolejnych klas pochodnych, jak i wystąpień klas.

Aby uwidocznić identyfikator DependencyProperty w klasie, wywołaj DependencyProperty bezpośrednio na kluczu. Użyj tej wartości, aby utworzyć identyfikator public static readonlyDependencyProperty w klasie, która jest równoległa DependencyPropertyKey.

Dotyczy

Zobacz też