FrameworkPropertyMetadata.AffectsMeasure FrameworkPropertyMetadata.AffectsMeasure FrameworkPropertyMetadata.AffectsMeasure FrameworkPropertyMetadata.AffectsMeasure Property

정의

레이아웃 엔진 작업 중 종속성 속성이 측정 단계에 잠재적으로 영향을 주는지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that indicates whether a dependency property potentially affects the measure pass during layout engine operations.

public:
 property bool AffectsMeasure { bool get(); void set(bool value); };
public bool AffectsMeasure { get; set; }
member this.AffectsMeasure : bool with get, set
Public Property AffectsMeasure As Boolean

속성 값

이 메타데이터가 있는 종속성 속성이 측정 단계에 잠재적으로 영향을 주면 true이고, 영향을 주지 않으면 false입니다.true if the dependency property on which this metadata exists potentially affects the measure pass; otherwise, false. 기본값은 false입니다.The default is false.

예외

메타데이터는 종속성 속성 작업에 이미 적용되었으므로 메타데이터가 봉인되어 메타데이터의 속성을 설정할 수 없습니다.The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

예제

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

pm = dp.GetMetadata(dp.OwnerType);
pm = dp.GetMetadata(dp.OwnerType)
FrameworkPropertyMetadata fpm = pm as FrameworkPropertyMetadata;
if (fpm!=null) {
    AffectsArrange.Text = (fpm.AffectsArrange) ? "Yes" : "No";
    AffectsMeasure.Text = (fpm.AffectsMeasure) ? "Yes" : "No";
    AffectsRender.Text = (fpm.AffectsRender) ? "Yes" : "No";
    Inherits.Text = (fpm.Inherits) ? "Yes" : "No";
    IsDataBindingAllowed.Text = (fpm.IsDataBindingAllowed) ? "Yes" : "No";
    BindsTwoWayByDefault.Text = (fpm.BindsTwoWayByDefault) ? "Yes" : "No";
}         
Dim fpm As FrameworkPropertyMetadata = TryCast(pm, FrameworkPropertyMetadata)
If fpm IsNot Nothing Then
	AffectsArrange.Text = If((fpm.AffectsArrange), "Yes", "No")
	AffectsMeasure.Text = If((fpm.AffectsMeasure), "Yes", "No")
	AffectsRender.Text = If((fpm.AffectsRender), "Yes", "No")
              [Inherits].Text = If((fpm.Inherits), "Yes", "No")
	IsDataBindingAllowed.Text = If((fpm.IsDataBindingAllowed), "Yes", "No")
	BindsTwoWayByDefault.Text = If((fpm.BindsTwoWayByDefault), "Yes", "No")

설명

FrameworkElementFrameworkContentElement 의 구현이 포함 OnPropertyChanged 요소에 있는 모든 종속성 속성 유효 값 변경 내용을 모니터링 하는 합니다.FrameworkElement and FrameworkContentElement include an implementation of OnPropertyChanged that monitors effective value changes to all dependency properties that exist on an element. 논리의 일부로, 적용을 변경 하는 종속성 속성 값 및 사용 하 여 메타 데이터를 가져야 AffectsMeasuretrue 해당 요소에 대 한 시각적 개체를 무효화 하는 지연 된 요청이 시작 됩니다.As part of that logic, dependency properties that change effective value and have metadata with AffectsMeasure set to true will initiate a deferred request to invalidate the visuals for that element. 이 WPF 프레임 워크 수준 구현 되어에서 이미 이기 때문에 일반적으로 필요가 없습니다 사용 하 여 종속성 속성에 대 한 검색할 AffectsMeasure 대체로 대체 또는 WPF 프레임 워크 수준 레이아웃 동작을 수정 하는 경우가 아니면 합니다.Because this WPF framework-level implementation is already in place, you typically do not need to look for dependency properties with AffectsMeasure unless you are substantially replacing or modifying the WPF framework-level layout behavior.

사용자 지정 OnPropertyChanged 구현이 종속성 속성 변경에 대 한 비슷한 동작을 선택할 수 있는 AffectsMeasuretrue합니다.Custom OnPropertyChanged implementations might choose to have similar behavior for dependency property changes where AffectsMeasure is true.

파생된 클래스에서 속성 PropertyMetadata 읽기 / 쓰기 가능으로 개체 모델에서 일반적으로 정의 됩니다.Properties on derived classes of PropertyMetadata are typically defined in the object model as read-write. 이므로 인스턴스를 초기화 한 후 조정할 수 있습니다.This is so they can be adjusted after initialization of the instance. 그러나 메타 데이터에 대 한 호출의 일부로 사용 되 면 Register, AddOwner, 또는 OverrideMetadata, 속성 시스템에는 해당 메타 데이터 인스턴스가 봉인 됩니다 및 속성 메타 데이터의 세부 정보를 전달 하는 이제 변경할 수 없는 것으로 간주 됩니다.However, after the metadata is consumed as part of a call to Register, AddOwner, or OverrideMetadata, the property system will seal that metadata instance and properties that convey the specifics of the metadata are now considered immutable. 후이 속성을 설정 하려고 IsSealedtrue 인스턴스가 메타이 데이터에서 예외가 발생 합니다.Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

XAML 텍스트 사용XAML Text Usage

이 클래스의 멤버에 일반적으로 사용 되지 않는 XAMLXAML합니다.Members of this class are not typically used in XAMLXAML.

적용 대상

추가 정보