DependencyPropertyKey.DependencyProperty Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 readonly
DependencyProperty w klasie, która jest równoległa DependencyPropertyKey.