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 в коде.