FrameworkPropertyMetadata.AffectsParentMeasure Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает значение, указывающее, может ли свойство зависимостей потенциально влиять на передачу показателей разметки родительского элемента во время операций обработчика разметки.
public:
property bool AffectsParentMeasure { bool get(); void set(bool value); };
public bool AffectsParentMeasure { get; set; }
member this.AffectsParentMeasure : bool with get, set
Public Property AffectsParentMeasure As Boolean
Значение свойства
true
Значение , если свойство зависимостей, в котором существуют эти метаданные, может повлиять на передачу меры в частности на родительский элемент; false
в противном случае . Значение по умолчанию — false
.
Исключения
Метаданные уже применены к операции свойства зависимостей. Поэтому метаданные запечатаны, а их свойства нельзя задать.
Комментарии
FrameworkElement и FrameworkContentElement включите реализацию OnPropertyChanged , которая отслеживает эффективные изменения значений для всех свойств зависимостей, существующих в элементе. В рамках этой логики свойства зависимостей, которые изменяют действующее значение и имеют метаданные, AffectsParentMeasure для которых задано значение true
, инициируют отложенный запрос, чтобы сделать визуальные элементы недействительными для родительского элемента. Так как эта реализация на уровне платформы WPF уже существует, обычно не нужно искать свойства зависимостей AffectsParentMeasure , если вы не существенно заменяете или не изменяете поведение макета на уровне платформы WPF.
Как правило, не требуется сообщать об изменениях FrameworkElement свойства родительскому элементу, AffectsParentMeasure так как сам элемент уже имеет собственный вид AffectsMeasure true
. Это обычно достаточно, так как изменения дочернего элемента обычно инициируют передачу родительской меры при необходимости. AffectsParentMeasure иногда используется для производного FrameworkContentElement класса. В этом случае дочерний элемент задает свойство, но производный FrameworkContentElement класс не управляет собственной отрисовкой. Отрисовка обрабатывается родительским элементом FrameworkElement , который служит узлом содержимого. Например, изменение значения Paragraph.KeepWithNext свойства дочерним элементом делает недействительным меру родительского элемента, так как относительный интервал абзацев может измениться и может увеличить или уменьшить размер узла содержимого. Таким образом, Paragraph.KeepWithNext свойство содержит метаданные, где AffectsParentMeasure есть true
.
Элементы узла контента также часто ищут изменения в свойствах зависимостей, где AffectsParentMeasure находится в true
рамках логики отрисовки узла контента. Например, TextBox элемент должен реагировать на определенные изменения в тексте, которые могут потребовать изменения ограничивающего TextBox прямоугольника самого элемента.
Пользовательские OnPropertyChanged реализации могут иметь аналогичное поведение для изменений свойств зависимостей.AffectsParentMeasure true
Свойства любого производного PropertyMetadata класса обычно определяются в объектной модели как чтение и запись. Это позволяет настроить их после инициализации экземпляра. Однако после использования метаданных в рамках вызова RegisterAddOwnerили OverrideMetadataсистемы свойств система свойств запечатывает этот экземпляр метаданных и свойства, которые передают особенности метаданных, теперь считаются неизменяемыми. При попытке задать это свойство после IsSealed того, как он находится true
в этом экземпляре метаданных, возникнет исключение.
Использование текста XAML
Члены этого класса обычно не используются в XAML.