DependencyPropertyKey.DependencyProperty 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得與此特製化只讀相依性屬性標識符相關聯的相依性屬性標識符。
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
屬性值
相關的相依性屬性標識碼。
範例
下列範例會呼叫 DependencyProperty,公開類別上 AquariumGraphic
只讀相依性屬性 DependencyProperty 標識符 (AquariumGraphicProperty
)。 此範例也會顯示建立 DependencyPropertyKey(作為內部成員),以及 AquariumGraphic
的 get 存取子。
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
備註
DependencyProperty 值可讓唯讀屬性的標識碼使用一些與讀寫相依性屬性所使用的相同介面,參與一般屬性系統作業。
若要實作只讀相依性屬性的 get 屬性存取子,您應該在類別上建立並公開 DependencyProperty 標識符。 這有兩個用途:
您自己的類別需要 DependencyProperty 標識符,才能實作屬性包裝函式的 get 存取子。 您可以使用 DependencyProperty 做為實作 get 存取子之 GetValue 呼叫的參數。
DependencyProperty 標識碼會將相依性屬性公開至屬性系統,讓依賴元數據的其他方法可以以標準形式存取它。 例如,如果您在某些 DependencyObject 上呼叫 GetLocalValueEnumerator,並取得本機集屬性的列舉(值和標識符),則針對唯讀相依性屬性傳回的標識碼會是您的 DependencyProperty 值,而不是索引鍵。 不公開 DependencyProperty 標識符並不會以任何方式增加唯讀相依性屬性的安全性,它只會讓涉及您屬性的作業在後續衍生類別和類別實例中更加尷尬。
若要在您的類別上公開 DependencyProperty 識別碼,您可以直接在密鑰上呼叫 DependencyProperty。 使用此值在 類別上建立 public static readonly
DependencyProperty 識別碼,其會平行處理 DependencyPropertyKey。