DependencyProperty.RegisterReadOnly 메서드

정의

종속성 속성을 읽기 전용 종속성 속성으로 등록합니다.Registers a dependency property as a read-only dependency property.

오버로드

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)

지정된 속성 형식, 소유자 유형, 속성 메타데이터 및 유효성 검사 콜백을 사용하여 읽기 전용 종속성 속성을 등록합니다.Registers a read-only dependency property, with the specified property type, owner type, property metadata, and a validation callback.

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

등록할 종속성 속성의 이름입니다.The name of the dependency property to register.

propertyType
Type

속성의 형식입니다.The type of the property.

ownerType
Type

종속성 속성을 등록하는 소유자 유형입니다.The owner type that is registering the dependency property.

typeMetadata
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. 또한 래퍼 만들어집니다 AquariumSize, get 접근자만 합니다.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.

읽기 전용 종속성 속성은 호출자가 해당 속성을 설정할 수 없는 경우에도 다른 WPFWPF 기능에 종속성 속성이 필요할 수 있기 때문에 기존 API 및 사용자 지정 시나리오에서 매우 일반적인 시나리오입니다.Read-only dependency properties are a fairly typical scenario both in the existing API 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)

지정된 속성 형식, 소유자 유형, 속성 메타데이터 및 유효성 검사 콜백을 사용하여 읽기 전용 종속성 속성을 등록합니다.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

등록할 종속성 속성의 이름입니다.The name of the dependency property to register.

propertyType
Type

속성의 형식입니다.The type of the property.

ownerType
Type

종속성 속성을 등록하는 소유자 유형입니다.The owner type that is registering the dependency property.

typeMetadata
PropertyMetadata

종속성 속성의 속성 메타데이터입니다.Property metadata for the dependency property.

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. 키 지정 public이 아닌 액세스 수준 임의의 잘못 된 입력에 대 한 가능성을 줄여 줍니다.The nonpublic access level you specify for the key reduces the likelihood for arbitrary invalid input.

적용 대상