DependencyPropertyKey DependencyPropertyKey DependencyPropertyKey DependencyPropertyKey Class

定義

読み取り専用の依存関係プロパティへの制限された書き込みアクセスに必要な依存関係プロパティ識別子を提供します。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
継承
DependencyPropertyKeyDependencyPropertyKeyDependencyPropertyKeyDependencyPropertyKey

次の例では、読み取り専用の依存関係プロパティでは、登録し、も、他のクラス メンバーの 2 つの目的のキーを使用して: get「ラッパー」を実装して、計算に基づいて、値を設定する保護された特定の操作の識別子として他のプロパティの値。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(
  "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

注釈

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

依存関係プロパティを登録する型が使用できる、DependencyPropertyKeyへの呼び出しでSetValueClearValueクラス ロジックの一部として、プロパティの値を調整します。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)common language runtime (CLR)不適切なクラスのデザインは、プロパティ ラッパーの実装。Also, exposing the key causes a mismatch between the available dependency property behaviors and its 共通言語ランタイム (CLR)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.

プロパティ

DependencyProperty DependencyProperty DependencyProperty DependencyProperty

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

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
OverrideMetadata(Type, PropertyMetadata) OverrideMetadata(Type, PropertyMetadata) OverrideMetadata(Type, PropertyMetadata) OverrideMetadata(Type, PropertyMetadata)

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

ToString() ToString() ToString() ToString()

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

(Inherited from Object)

適用対象

こちらもご覧ください