DependencyProperty.RegisterReadOnly 메서드

정의

종속성 속성을 읽기 전용 종속성 속성으로 등록합니다.

오버로드

RegisterReadOnly(String, Type, Type, PropertyMetadata)

지정된 속성 형식, 소유자 유형 및 속성 메타데이터를 사용하여 읽기 전용 종속성 속성을 등록합니다.

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

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

RegisterReadOnly(String, Type, Type, PropertyMetadata)

지정된 속성 형식, 소유자 유형 및 속성 메타데이터를 사용하여 읽기 전용 종속성 속성을 등록합니다.

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

등록할 종속성 속성의 이름입니다.

propertyType
Type

속성의 형식입니다.

ownerType
Type

종속성 속성을 등록하는 소유자 유형입니다.

typeMetadata
PropertyMetadata

종속성 속성의 속성 메타데이터입니다.

반환

DependencyPropertyKey

클래스의 정적 읽기 전용 필드 값을 설정하는 데 사용할 종속성 속성 키로, 나중에 종속성 속성을 참조하는 데 사용됩니다.

예제

다음 예에서는 등록을 AquariumSize 읽기 전용 종속성 속성입니다. 이 예제에서는 정의 AquariumSizeKey 내부 키 (따라서 다른 어셈블리의 클래스는 메타 데이터 재정의 될 수 있습니다) 및 종속성 속성 식별자와 해당 키에 따라 노출 AquariumSizeProperty합니다. 또한 래퍼 만들어집니다 AquariumSize, 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

설명

이 메서드는 형식을 반환 DependencyPropertyKey반면 RegisterAttached 형식을 반환 DependencyProperty합니다. 일반적으로 읽기 전용 속성을 나타내는 키 되지 공용를 호출 하 여 종속성 속성 값을 설정 하는 키를 사용할 수 있으므로 SetValue(DependencyPropertyKey, Object)합니다. 클래스 디자인 요구 사항에 영향이 있지만의 표시 유형 확인 하 고 액세스를 제한 하려면 일반적으로 좋습니다 DependencyPropertyKey 클래스 또는 애플리케이션 논리의 일부로 종속성 속성을 설정 하는 데 필요한 코드의 부분에 합니다. 값을 노출 하 여 읽기 전용 종속성 속성에 대 한 종속성 속성 식별자를 노출 하는 것이 좋습니다 DependencyPropertyKey.DependencyProperty 으로 public static readonly 클래스에 필드입니다.

읽기 전용 종속성 속성은 호출자가 해당 속성을 설정할 수 없는 경우에도 다른 WPF 기능에 종속성 속성이 필요할 수 있으므로 기존 API와 사용자 지정 시나리오 모두에서 매우 일반적인 시나리오입니다. 데이터베이스나 같은 종속성 속성을 사용 하는 다른 속성 시스템 작업에 대 한 기준으로 읽기 전용 종속성 속성의 값을 사용할 수 있습니다는 Trigger 스타일의 종속성 속성에 있습니다.

종속성 속성 등록에 대 한 자세한 내용은 참조 하세요. DependencyProperty합니다.

적용 대상

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

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

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
Public Shared Function RegisterReadOnly (name As String, propertyType As Type, ownerType As Type, typeMetadata As PropertyMetadata, validateValueCallback As ValidateValueCallback) As DependencyPropertyKey

매개 변수

name
String

등록할 종속성 속성의 이름입니다.

propertyType
Type

속성의 형식입니다.

ownerType
Type

종속성 속성을 등록하는 소유자 유형입니다.

typeMetadata
PropertyMetadata

종속성 속성의 속성 메타데이터입니다.

validateValueCallback
ValidateValueCallback

일반적인 형식 유효성 검사 이외에 종속성 속성 값의 사용자 지정 유효성 검사를 수행하는 사용자가 만든 콜백에 대한 참조입니다.

반환

DependencyPropertyKey

클래스의 정적 읽기 전용 필드 값을 설정하는 데 사용할 종속성 속성 키로, 나중에 종속성 속성을 참조하는 데 사용됩니다.

설명

이 메서드는 형식을 반환 DependencyPropertyKey반면 RegisterAttached 형식을 반환 DependencyProperty합니다. 일반적으로 읽기 전용 속성을 나타내는 키 되지 공용를 호출 하 여 종속성 속성 값을 설정 하는 키를 사용할 수 있으므로 SetValue(DependencyPropertyKey, Object)합니다. 클래스 디자인 요구 사항에 영향이 있지만의 표시 유형 확인 하 고 액세스를 제한 하려면 일반적으로 좋습니다 DependencyPropertyKey 클래스 또는 애플리케이션 논리의 일부로 종속성 속성을 설정 하는 데 필요한 코드의 부분에 합니다. 값을 노출 하 여 읽기 전용 종속성 속성에 대 한 종속성 속성 식별자를 노출 하는 것이 좋습니다 DependencyPropertyKey.DependencyProperty 으로 public static readonly 클래스에 필드입니다.

읽기 전용 종속성 속성은 매우 일반적인 시나리오입니다. 데이터베이스나 같은 종속성 속성을 사용 하는 다른 속성 시스템 작업에 대 한 기준으로 읽기 전용 종속성 속성의 값을 사용할 수 있습니다는 Trigger 스타일의 종속성 속성에 있습니다.

종속성 속성 등록에 대 한 자세한 내용은 참조 하세요. DependencyProperty합니다.

읽기 전용 종속성 속성에 대 한 유효성 검사는 덜 중요할 수 있습니다. 키 지정 public이 아닌 액세스 수준 임의의 잘못 된 입력에 대 한 가능성을 줄여 줍니다.

적용 대상