DependencyProperty.ReadOnly 속성

정의

DependencyProperty 인스턴스로 식별되는 종속성 속성이 읽기 전용 종속성 속성인지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the dependency property identified by this DependencyProperty instance is a read-only dependency property.

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

속성 값

종속성 속성이 읽기 전용이면 true이고, 그렇지 않으면 false입니다.true if the dependency property is read-only; otherwise, false.

예제

다음 예제에서는 다양 한 종속성 속성 필드에서 기본 메타 데이터 및 종속성 속성 식별자 속성을 가져옵니다 하 고 "메타 데이터 브라우저"를 구현 하는 테이블을 채우기 위한 정보를 사용 합니다.The following example obtains the default metadata and the dependency property identifier properties from various dependency property fields, and uses the information to populate a table to implement a "metadata browser".

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 메서드.Read-only dependency properties are registered within the property system by calling the RegisterReadOnly method as opposed to the Register method. 연결 된 속성 읽기 전용으로 등록할 수 있습니다. 참조 RegisterAttachedReadOnly합니다.Attached properties can also be registered as read-only; see RegisterAttachedReadOnly.

읽기 전용 종속성 속성에는 필요는 DependencyPropertyKey 식별자 대신 DependencyProperty 메타 데이터 재정의 값을 설정 등의 메타 데이터 작업을 수행 하는 식별자입니다.Read-only dependency properties require a DependencyPropertyKey identifier rather than a DependencyProperty identifier to perform metadata operations such as overriding the metadata or setting the value. GetLocalValueEnumerator에 대 한 호출 또는 식별자를 노출 하는 다른 API를 통해 DependencyProperty 식별자 컬렉션을 가져온 경우 해당 종속성 속성 식별자를 입력 매개 변수로 사용 하 여 SetValue 또는 OverrideMetadata 호출을 시도 하기 전에 ReadOnly 값을 확인 하 여 식별자가 나타내는 종속성 속성이 읽기 전용이 아닌지 확인 합니다.If you obtained a collection of DependencyProperty identifiers through a call to GetLocalValueEnumerator or another API that exposes identifiers, check the ReadOnly value before attempting to call SetValue or OverrideMetadata using that dependency property identifier as an input parameter, to verify that the dependency property that the identifier represents is not read-only. 경우 값 ReadOnly 됩니다 true 종속성 속성은 프로그래밍 방식에 대 한 참조를 가져올 수 없습니다는 DependencyPropertyKey 메타 데이터에서 또는 해당 종속성 속성의 식별자는 DependencyProperty 식별자; 식별자 호출 하려면 정적 필드로 사용할 수 있어야 SetValue(DependencyPropertyKey, Object) 읽기 전용 종속성 속성에 대 한 합니다.If the value of ReadOnly is true on a dependency property, there is no programmatic way to obtain a reference to the DependencyPropertyKey identifier of that dependency property, from the metadata or from the DependencyProperty identifier; the identifier must be available as a static field in order to call SetValue(DependencyPropertyKey, Object) against a read-only dependency property.

사용자 지정 종속성 속성을 만들고 읽기 전용으로 등록할 때에 대 한 get 접근자만 정의 해야 합니다 CLRCLR 래퍼 속성입니다.When you create a custom dependency property, and register it as read-only, you should define only a get accessor for the CLRCLR wrapper property. 그렇지 않으면 클래스 백업 종속성 속성에 대 한 액세스를 비교 하 여 속성 래퍼에 대 한 혼동을 줄 개체 모델을 갖습니다.Otherwise, your class will have a confusing object model for the property wrapper as compared to the access to the backing dependency property. 자세한 내용은 참조 하세요 사용자 지정 종속성 속성 하거나 읽기 전용 종속성 속성합니다.For details, see Custom Dependency Properties or Read-Only Dependency Properties.

적용 대상

추가 정보