Поделиться через


UIElement.InvalidateMeasure Метод

Определение

Делает недействительным состояние измерения (структуру) элемента.

public:
 void InvalidateMeasure();
public void InvalidateMeasure ();
member this.InvalidateMeasure : unit -> unit
Public Sub InvalidateMeasure ()

Комментарии

При вызове этого метода также вызывается InvalidateArrange внутри системы, нет необходимости последовательно вызывать InvalidateMeasure и InvalidateArrange . После недействительности в элементе будет обновлен макет, который будет происходить асинхронно, если UpdateLayout не вызывается для принудительного синхронного изменения макета.

Система макета на уровне платформы WPF самостоятельно обрабатывает изменения в визуальном дереве элемента, и в большинстве распространенных случаев недействительности макета система макета вызывает эквивалент этого метода при необходимости. Этот метод следует вызывать только в том случае, если вы создаете полную реализацию макета, которая выполняет прямые операции с деревом элементов или аналогичные расширенные сценарии. Одним из таких сложных сценариев является создание PropertyChangedCallback для свойства зависимостей, которое не относится к или производному классу FreezableFrameworkElement , которое по-прежнему влияет на проход меры макета при его изменении.

Частые вызовы к InvalidateMeasure или, в частности, которые UpdateLayout имеют значительные последствия для производительности. Поэтому избегайте вызова этого метода, если не требуется точное состояние макета для последующих вызовов других API в коде.

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