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

関連する依存関係プロパティ識別子。

次の例では、を呼び出して、クラスの読み取り専用の DependencyProperty DependencyProperty 依存関係プロパティの識別子 () を公開して AquariumGraphicProperty AquariumGraphic います。 この例では、 DependencyPropertyKey (内部メンバーとしての) 作成と、の get アクセサーも示して 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

注釈

値を使用すると、読み取り専用 DependencyProperty プロパティの識別子が、読み取り/書き込み依存関係プロパティで使用されるものと同じインターフェイスを使用して、共通プロパティシステム操作に参加できます。

読み取り専用の依存関係プロパティの get プロパティアクセサーを実装するには、クラスに識別子を作成して公開する必要があり DependencyProperty ます。 これは、次の 2 つの目的があります。

  • 独自のクラスには、 DependencyProperty プロパティラッパーの get アクセサーを実装するための識別子が必要です。 は、 DependencyProperty get アクセサーを実装する呼び出しのパラメーターとして使用し GetValue ます。

  • DependencyProperty 識別子は、メタデータに依存する他のメソッドが標準形式でアクセスできるように、依存関係プロパティをプロパティシステムに公開します。 たとえば、何らかの方法でを呼び出し、 GetLocalValueEnumerator DependencyObject ローカルに設定されたプロパティ (値と識別子) の列挙を取得した場合、読み取り専用の依存関係プロパティに対して返される識別子は、 DependencyProperty キーではなく値になります。 識別子を公開しない DependencyProperty と、読み取り専用の依存関係プロパティのセキュリティはどのような方法でも向上しません。これにより、その後の派生クラスとクラスインスタンスの両方で、プロパティに関連する操作が難しくなります。

クラスで識別子を公開するには DependencyPropertyDependencyProperty キーに対して直接を呼び出します。 この値を使用して、に対応するクラスの識別子を作成し public static readonly DependencyProperty DependencyPropertyKey ます。

適用対象

こちらもご覧ください