共用方式為


DependencyPropertyKey.DependencyProperty 屬性

定義

取得與此特製化只讀相依性屬性標識符相關聯的相依性屬性標識符。

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 readonlyDependencyProperty 識別碼,其會平行處理 DependencyPropertyKey

適用於

另請參閱