DependencyProperty.ReadOnly 속성

정의

DependencyProperty 인스턴스에서 식별된 종속성 속성이 읽기 전용 종속성 속성인지 여부를 나타내는 값을 가져옵니다.

public:
 property bool ReadOnly { bool get(); };
public bool ReadOnly { get; }
member this.ReadOnly : bool
Public ReadOnly Property ReadOnly As Boolean

속성 값

true종속성 속성이 읽기 전용인 경우 그렇지 않으면 . false

예제

다음 예제에서는 다양한 종속성 속성 필드에서 기본 메타데이터 및 종속성 속성 식별자 속성을 가져오고 이 정보를 사용하여 테이블을 채워 "메타데이터 브라우저"를 구현합니다.

pm = dp.GetMetadata(dp.OwnerType);
MetadataClass.Text = pm.GetType().Name;
TypeofPropertyValue.Text = dp.PropertyType.Name;
DefaultPropertyValue.Text = (pm.DefaultValue!=null) ? pm.DefaultValue.ToString() : "null";
HasCoerceValue.Text = (pm.CoerceValueCallback == null) ? "No" : pm.CoerceValueCallback.Method.Name;
HasPropertyChanged.Text = (pm.PropertyChangedCallback == null) ? "No" : pm.PropertyChangedCallback.Method.Name;
ReadOnly.Text = (dp.ReadOnly) ? "Yes" : "No";
pm = dp.GetMetadata(dp.OwnerType)
MetadataClass.Text = pm.GetType().Name
TypeofPropertyValue.Text = dp.PropertyType.Name
DefaultPropertyValue.Text = If((pm.DefaultValue IsNot Nothing), pm.DefaultValue.ToString(), "null")
HasCoerceValue.Text = If((pm.CoerceValueCallback Is Nothing), "No", pm.CoerceValueCallback.Method.Name)
HasPropertyChanged.Text = If((pm.PropertyChangedCallback Is Nothing), "No", pm.PropertyChangedCallback.Method.Name)
    [ReadOnly].Text = If((dp.ReadOnly), "Yes", "No")

설명

읽기 전용 종속성 속성은 메서드가 아닌 메서드를 RegisterReadOnly 호출하여 속성 시스템 내에 등록됩니다 Register . 연결된 속성은 읽기 전용으로 등록할 수도 있습니다. 를 참조하세요 RegisterAttachedReadOnly.

읽기 전용 종속성 속성에는 메타데이터 재정의 DependencyPropertyKey 또는 값 설정과 같은 메타데이터 작업을 수행하기 위해 식별자가 아닌 식별자가 필요합니다DependencyProperty. 식별자를 노출하는 다른 API 또는 호출을 DependencyProperty 통해 식별자 컬렉션을 GetLocalValueEnumerator 가져온 경우 해당 종속성 속성 식별자를 입력 매개 변수로 호출 ReadOnly 하거나 SetValue 사용하기 전에 값을 확인 OverrideMetadata 하여 식별자가 나타내는 종속성 속성이 읽기 전용이 아닌지 확인합니다. 값 ReadOnlytrue 종속성 속성에 있는 경우 메타데이터 또는 식별자에서 DependencyPropertyKey 해당 종속성 속성의 식별자에 대한 참조 DependencyProperty 를 가져오는 프로그래밍 방식의 방법이 없습니다. 읽기 전용 종속성 속성에 대해 호출 SetValue(DependencyPropertyKey, Object) 하려면 식별자를 정적 필드로 사용할 수 있어야 합니다.

사용자 지정 종속성 속성을 만들고 읽기 전용으로 등록하는 경우 CLR 래퍼 속성에 대한 get 접근자만 정의해야 합니다. 그렇지 않으면 클래스에는 백업 종속성 속성에 대한 액세스와 비교하여 속성 래퍼에 대해 혼동되는 개체 모델이 있습니다. 자세한 내용은 사용자 지정 종속성 속성 또는 Read-Only 종속성 속성을 참조하세요.

적용 대상

추가 정보