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 обычно не требуется и может привести к снижению производительности при чрезмерном использовании. Во многих ситуациях, когда код приложения может изменять свойства макета, система макета, вероятно, уже обрабатывает обновления асинхронно. Система макета также имеет оптимизации для работы с каскадными изменениями макета через связи "родители-потомки", и принудительное создание макета с помощью кода приложения может работать против таких оптимизаций. Тем не менее, возможно, что ситуации с макетом существуют в более сложных сценариях, где принудительный макет является оптимальным вариантом для решения проблемы со временем или другой проблемы с макетом. Просто используйте его намеренно и экономно.

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

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