DependencyPropertyKey クラス


読み取り専用の依存関係プロパティへの制限された書き込みアクセスに必要な依存関係プロパティ識別子を提供します。Provides a dependency property identifier for limited write access to a read-only dependency property.

public ref class DependencyPropertyKey sealed
public sealed class DependencyPropertyKey
type DependencyPropertyKey = class
Public NotInheritable Class DependencyPropertyKey

次の例では、読み取り専用の依存関係プロパティを登録し、他のクラスメンバーの2つの目的でキーを使用しています。 get "wrapper" を実装し、他のプロパティ値の計算に基づいて値を設定する保護された決定操作の識別子として使用します。The following example registers a read-only dependency property, and also uses the key for two purposes in other class members: implementing the get "wrapper", and as the identifier for a protected determination operation that sets the value based on calculations of other property values.

internal static readonly DependencyPropertyKey AquariumSizeKey = DependencyProperty.RegisterReadOnly(
  new PropertyMetadata(double.NaN)
public static readonly DependencyProperty AquariumSizeProperty =
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
        Return CDbl(GetValue(AquariumSizeProperty))
    End Get
End Property


DependencyPropertyKey インスタンスは、メソッドまたはを使用して、依存関係プロパティの登録呼び出しの戻り値として取得され RegisterReadOnly RegisterAttachedReadOnly ます。DependencyPropertyKey instances are obtained as the return value of a dependency property registration call using the methods RegisterReadOnly or RegisterAttachedReadOnly.

依存関係プロパティを登録する型は、の呼び出しでを使用し、 DependencyPropertyKey SetValue ClearValue プロパティの値をクラスロジックの一部として調整できます。The types that register a dependency property can use the DependencyPropertyKey in calls to SetValue and ClearValue that adjust the property's value as part of class logic. キーのアクセスレベルで許可されている場合、関連するクラスはキーと依存関係プロパティも使用できます。If permitted by the access level of the key, related classes can use the key and the dependency property also. たとえば、キーを内部として宣言し、同じアセンブリ内の他の型もその依存関係プロパティを設定できます。For instance, you can declare the key as internal, and other types within the same assembly can also set that dependency property.

読み取り専用の DependencyPropertyKey 依存関係プロパティの登録によって返されるをパブリックにすることはできません。キーを公開すると、プロパティが設定可能になるため、読み取り専用の依存関係プロパティとして登録するポイントが無効になります。The DependencyPropertyKey returned by read-only dependency property registration should not be made public, because exposing the key makes the property settable, thus defeating the point of registering it as a read-only dependency property. また、キーを公開すると、使用可能な依存関係プロパティの動作と、その共通言語ランタイム (CLR) プロパティラッパーの実装が一致しません。これは、クラスの設計が不適切であることを示します。Also, exposing the key causes a mismatch between the available dependency property behaviors and its common language runtime (CLR) property wrapper implementations, which is bad class design.

代わりに、キー自体を公開するのではなく、の値をクラスのとして公開する必要があり DependencyProperty DependencyPropertyKey public static readonly DependencyProperty ます。Instead of exposing the key itself, you should instead expose the DependencyProperty value of the DependencyPropertyKey as a public static readonlyDependencyProperty on your class. これにより、プロパティは、ローカルに設定された値の列挙など、特定のプロパティシステム操作に対して有効な依存関係プロパティ識別子を返すことができます。This enables the property to return a valid dependency property identifier for certain property system operations such as enumerating locally set values. ただし、取得した識別子には、 DependencyProperty 多くのプロパティシステム操作に対するの完全な機能はありません。However, the identifier thus obtained does not have the full capabilities of a DependencyProperty for many property system operations.



この特殊な読み取り専用依存関係プロパティ識別子に関連付けられている依存関係プロパティ識別子を取得します。Gets the dependency property identifier associated with this specialized read-only dependency property identifier.



指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
OverrideMetadata(Type, PropertyMetadata)

この依存関係プロパティ識別子によって表される読み取り専用の依存関係プロパティのメタデータをオーバーライドします。Overrides the metadata of a read-only dependency property that is represented by this dependency property identifier.


現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)