UIElement.OnChildDesiredSizeChanged(UIElement) Метод

Определение

Поддерживает поведение структуры при изменении размеров дочернего элемента.Supports layout behavior when a child element is resized.

protected:
 virtual void OnChildDesiredSizeChanged(System::Windows::UIElement ^ child);
protected virtual void OnChildDesiredSizeChanged (System.Windows.UIElement child);
abstract member OnChildDesiredSizeChanged : System.Windows.UIElement -> unit
override this.OnChildDesiredSizeChanged : System.Windows.UIElement -> unit
Protected Overridable Sub OnChildDesiredSizeChanged (child As UIElement)

Параметры

child
UIElement

Дочерний элемент, размер которого изменяется.The child element that is being resized.

Комментарии

Этот метод обычно не вызывается кодом приложения.This method is typically not called by your application code. Он предоставляется таким образом, что производные классы элементов могут выполнять дальнейшую проверку своих собственных, возможно недопустимых состояний макета.It is exposed so that derived element classes can make further checks on their own possibly invalid layout state. Классы также могут попытаться оптимизировать, чтобы максимально сокращать время обработки для прохода макета на основе изменения размера дочерних элементов.Classes could also attempt optimizations to minimize the processing time for a layout pass based on size changes to child elements. Примером класса производного элемента, реализующего OnChildDesiredSizeChanged, является элемент управления Grid.An example derived element class that implements OnChildDesiredSizeChanged is the Grid control.

Примечания для тех, кто наследует этот метод

Метод OnChildDesiredSizeChanged(UIElement) имеет реализацию вызова InvalidateMeasure() по умолчанию.The OnChildDesiredSizeChanged(UIElement) method has the default implementation of calling InvalidateMeasure() on itself. Типичная реализация: выполнить любую оптимизацию, которую поддерживает ваш собственный элемент, а затем вызвать базовый OnChildDesiredSizeChanged(UIElement) по крайней мере из одной из ветвей кода (которая указывала «грязное» состояние на собственную логику кэширования мер).A typical implementation would be: do whatever optimization your own element supports, and then typically call base OnChildDesiredSizeChanged(UIElement) from at least one of the code branches (the one that indicated "dirty" state per your own measure caching logic).

Этот метод вызывается в обработке макета только в том случае, если он был дочерним элементом, который изменил размер.This method is only called in the layout processing if it was the child itself that originated the size changes. В противном случае, если родительский элемент инициирует Measure(Size) прохождение в соответствии с правилами системы макета, родитель пересчитывает макет уже.Otherwise, if the parent element initiates the Measure(Size) pass, according to the layout system rules, the parent is recalculating layout already. Система макета обрабатывает макет в порядке дочернего элемента в родительский элемент, поэтому нет необходимости возвращаться к размерам родительских элементов из вызова макета дочернего элемента.The layout system processes layout in the order of child-to-parent, so no return to parent element sizing from the child element layout calls is necessary.

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