DependencyProperty.RegisterReadOnly DependencyProperty.RegisterReadOnly DependencyProperty.RegisterReadOnly DependencyProperty.RegisterReadOnly Method

定義

読み取り専用の依存関係プロパティとして、依存関係プロパティを登録します。Registers a dependency property as a read-only dependency property.

オーバーロード

RegisterReadOnly(String, Type, Type, PropertyMetadata) RegisterReadOnly(String, Type, Type, PropertyMetadata) RegisterReadOnly(String, Type, Type, PropertyMetadata) RegisterReadOnly(String, Type, Type, PropertyMetadata)

プロパティ型、所有者型、プロパティ メタデータを指定して、読み取り専用の依存関係プロパティを登録します。Registers a read-only dependency property, with the specified property type, owner type, and property metadata.

RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

プロパティ型、所有者型、プロパティ メタデータ、および検証コールバックを指定して、読み取り専用の依存関係プロパティを登録します。Registers a read-only dependency property, with the specified property type, owner type, property metadata, and a validation callback.

RegisterReadOnly(String, Type, Type, PropertyMetadata) RegisterReadOnly(String, Type, Type, PropertyMetadata) RegisterReadOnly(String, Type, Type, PropertyMetadata) RegisterReadOnly(String, Type, Type, PropertyMetadata)

プロパティ型、所有者型、プロパティ メタデータを指定して、読み取り専用の依存関係プロパティを登録します。Registers a read-only dependency property, with the specified property type, owner type, and property metadata.

public:
 static System::Windows::DependencyPropertyKey ^ RegisterReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata);
public static System.Windows.DependencyPropertyKey RegisterReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata typeMetadata);
static member RegisterReadOnly : string * Type * Type * System.Windows.PropertyMetadata -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterReadOnly (name As String, propertyType As Type, ownerType As Type, typeMetadata As PropertyMetadata) As DependencyPropertyKey

パラメーター

name
String String String String

登録する依存関係プロパティの名前。The name of the dependency property to register.

propertyType
Type Type Type Type

プロパティの型。The type of the property.

ownerType
Type Type Type Type

依存関係プロパティを登録している所有者の型。The owner type that is registering the dependency property.

typeMetadata
PropertyMetadata PropertyMetadata PropertyMetadata PropertyMetadata

依存関係プロパティのプロパティ メタデータ。Property metadata for the dependency property.

戻り値

クラスの静的な読み取り専用フィールドの値を設定するために使用され、次いで依存関係プロパティの参照に使用される、依存関係プロパティのキー。A dependency property key that should be used to set the value of a static read-only field in your class, which is then used to reference the dependency property.

次の例ではAquariumSize 、依存関係プロパティを読み取り専用として登録します。The following example registers an AquariumSize dependency property as read-only. この例でAquariumSizeKeyは、(アセンブリ内の他のクラスがメタデータをオーバーライドできるように) 内部キーとしてを定義し、 AquariumSizePropertyそのキーに基づいて依存関係プロパティ識別子をとして公開します。The example defines AquariumSizeKey as an internal key (so that other classes in the assembly could override metadata) and exposes the dependency property identifier based on that key as AquariumSizeProperty. また、get アクセサーのみを使用AquariumSizeして、のラッパーが作成されます。Also, a wrapper is created for AquariumSize, with only a get accessor.

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 RegisterAttachedを返しますが、はDependencyProperty型を返します。This method returns the type DependencyPropertyKey, whereas RegisterAttached returns the type DependencyProperty. 通常、読み取り専用プロパティを表すキーは公開されません。これは、を呼び出すSetValue(DependencyPropertyKey, Object)ことで、キーを使用して依存関係プロパティの値を設定できるためです。Typically, the keys that represent read-only properties are not made public, because the keys can be used to set the dependency property value by calling SetValue(DependencyPropertyKey, Object). クラスのDependencyPropertyKey設計は要件に影響を与えますが、通常は、クラスまたはアプリケーションロジックの一部としてその依存関係プロパティを設定するために必要なコード部分のみにアクセスと可視性を制限することをお勧めします。Your class design will affect your requirements, but it is generally recommended to limit the access and visibility of any DependencyPropertyKey to only those parts of your code that are necessary to set that dependency property as part of class or application logic. また、のDependencyPropertyKey.DependencyProperty値をクラスのpublic static readonlyフィールドとして公開することによって、読み取り専用の依存関係プロパティの依存関係プロパティ識別子を公開することもお勧めします。It is also recommended that you expose a dependency property identifier for the read-only dependency property, by exposing the value of DependencyPropertyKey.DependencyProperty as a public static readonly field on your class.

読み取り専用の依存関係プロパティは、既存APIAPIのとカスタマイズのシナリオにおいて非常に一般的なシナリオです。他のWPFWPF機能では、そのプロパティがによって設定されることを意図していない場合でも依存関係プロパティが必要になる可能性があるためです。元.Read-only dependency properties are a fairly typical scenario both in the existing APIAPI and for customization scenarios, because other WPFWPF features might require a dependency property even if that property is not intended to be settable by callers. 読み取り専用の依存関係プロパティの値は、スタイルの依存関係プロパティTriggerでのベースなど、依存関係プロパティを受け取る他のプロパティシステム操作の基準として使用できます。You can use the value of a read-only dependency property as the basis for other property system operations that take a dependency property, such as basing a Trigger on the dependency property in a style.

依存関係プロパティの登録の詳細についDependencyPropertyては、「」を参照してください。For more information on dependency property registration, see DependencyProperty.

RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

プロパティ型、所有者型、プロパティ メタデータ、および検証コールバックを指定して、読み取り専用の依存関係プロパティを登録します。Registers a read-only dependency property, with the specified property type, owner type, property metadata, and a validation callback.

public:
 static System::Windows::DependencyPropertyKey ^ RegisterReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata, System::Windows::ValidateValueCallback ^ validateValueCallback);
public static System.Windows.DependencyPropertyKey RegisterReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata typeMetadata, System.Windows.ValidateValueCallback validateValueCallback);
static member RegisterReadOnly : string * Type * Type * System.Windows.PropertyMetadata * System.Windows.ValidateValueCallback -> System.Windows.DependencyPropertyKey

パラメーター

name
String String String String

登録する依存関係プロパティの名前。The name of the dependency property to register.

propertyType
Type Type Type Type

プロパティの型。The type of the property.

ownerType
Type Type Type Type

依存関係プロパティを登録している所有者の型。The owner type that is registering the dependency property.

typeMetadata
PropertyMetadata PropertyMetadata PropertyMetadata PropertyMetadata

依存関係プロパティのプロパティ メタデータ。Property metadata for the dependency property.

validateValueCallback
ValidateValueCallback ValidateValueCallback ValidateValueCallback ValidateValueCallback

通常の型検証に加えて、依存関係プロパティ値のカスタム検証を実行する必要があるユーザー作成のコールバックへの参照。A reference to a user-created callback that should perform any custom validation of the dependency property value beyond typical type validation.

戻り値

クラスの静的な読み取り専用フィールドの値を設定するために使用する必要がある依存関係プロパティのキー。これは後で依存関係プロパティの参照に使用されます。A dependency property key that should be used to set the value of a static read-only field in your class, which is then used to reference the dependency property later.

注釈

このメソッドは型DependencyPropertyKey RegisterAttachedを返しますが、はDependencyProperty型を返します。This method returns the type DependencyPropertyKey, whereas RegisterAttached returns the type DependencyProperty. 通常、読み取り専用プロパティを表すキーは公開されません。これは、を呼び出すSetValue(DependencyPropertyKey, Object)ことで、キーを使用して依存関係プロパティの値を設定できるためです。Typically, the keys that represent read-only properties are not made public, because the keys can be used to set the dependency property value by calling SetValue(DependencyPropertyKey, Object). クラスのDependencyPropertyKey設計は要件に影響を与えますが、通常は、クラスまたはアプリケーションロジックの一部としてその依存関係プロパティを設定するために必要なコード部分のみにアクセスと可視性を制限することをお勧めします。Your class design will affect your requirements, but it is generally recommended to limit the access and visibility of any DependencyPropertyKey to only those parts of your code that are necessary to set that dependency property as part of class or application logic. また、のDependencyPropertyKey.DependencyProperty値をクラスのpublic static readonlyフィールドとして公開することによって、読み取り専用の依存関係プロパティの依存関係プロパティ識別子を公開することもお勧めします。It is also recommended that you expose a dependency property identifier for the read-only dependency property, by exposing the value of DependencyPropertyKey.DependencyProperty as a public static readonly field on your class.

読み取り専用の依存関係プロパティは、非常に一般的なシナリオです。Read-only dependency properties are a fairly typical scenario. 読み取り専用の依存関係プロパティの値は、スタイルの依存関係プロパティTriggerでのベースなど、依存関係プロパティを受け取る他のプロパティシステム操作の基準として使用できます。You can use the value of a read-only dependency property as the basis for other property system operations that take a dependency property, such as basing a Trigger on the dependency property in a style.

依存関係プロパティの登録の詳細についDependencyPropertyては、「」を参照してください。For more information on dependency property registration, see DependencyProperty.

読み取り専用の依存関係プロパティでの検証は、重要度が低い場合があります。Validation on a read-only dependency property might be less important. キーに指定した非パブリックアクセスレベルにより、任意の無効な入力の可能性が減少します。The nonpublic access level you specify for the key reduces the likelihood for arbitrary invalid input.

適用対象