次の方法で共有


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 識別子を作成して公開する必要があります。 これは、次の 2 つの目的に役立ちます。

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

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

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

適用対象

こちらもご覧ください