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


UIElement.InvalidateArrange Метод

Определение

Делает недействительным состояние упорядочения (макет) для UIElement. После недействительности макет UIElement будет обновлен, что будет происходить асинхронно.

public:
 virtual void InvalidateArrange() = InvalidateArrange;
void InvalidateArrange();
public void InvalidateArrange();
function invalidateArrange()
Public Sub InvalidateArrange ()

Комментарии

Элементы управления, поддерживающие собственное свойство ориентации, могут вызывать InvalidateArrange при изменении ориентации, чтобы восстановить макет для новой ориентации. InvalidateArrange также может вызываться из логики пользовательского макета в таких случаях, когда доступный размер не является достаточным, а логика позволяет использовать альтернативную стратегию макета, которая использует доступный размер по-разному.

UpdateLayout в основном эквивалентен последовательному вызову InvalidateMeasure и InvalidateArrange.

Обновление макета может быть принудительно вызвано кодом приложения, а не полагаться на поведение встроенной системы макета. Однако это обычно не рекомендуется. Вызов InvalidateArrange, InvalidateMeasure или UpdateLayout обычно не требуется и может привести к снижению производительности при чрезмерном использовании. Во многих ситуациях, когда код приложения может изменять свойства макета, система макетов, вероятно, уже обрабатывает обновления асинхронно. Система макета также имеет оптимизации для работы с каскадными изменениями макета через отношения "родители-потомки", и принудительное создание макета с помощью кода приложения может работать против такой оптимизации. Тем не менее, возможно, что ситуации макета существуют в более сложных сценариях, где принудительный макет является лучшим вариантом для решения проблемы времени или другой проблемы с макетом. Просто используйте его намеренно и экономно.

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

См. также раздел