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")

Комментарии

FrameworkElement и FrameworkContentElement включает реализацию OnPropertyChanged , отслеживает изменения действующего значения ко всем свойствам зависимостей, существующих в элементе.FrameworkElement and FrameworkContentElement include an implementation of OnPropertyChanged that monitors effective value changes to all dependency properties that exist on an element. Как часть этой логики, значение свойства зависимостей, которые изменяют вступают в силу и иметь метаданные с AffectsMeasure значение true будет инициировать запрос отложенного недействительным визуальные элементы для этого элемента.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.

Custom OnPropertyChanged выбрать реализаций аналогичное поведение для изменения свойств зависимостей где AffectsMeasure является true.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. Попытка задать это свойство после IsSealed является true на эти метаданные экземпляра будет выдано исключение.Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

Использование текста XAMLXAML Text Usage

Члены этого класса обычно не используются в XAMLXAML.Members of this class are not typically used in XAMLXAML.

Применяется к

Дополнительно