FrameworkElement.OnRenderSizeChanged(SizeChangedInfo) Method

Definition

Raises the SizeChanged event, using the specified information as part of the eventual event data.

protected public:
 override void OnRenderSizeChanged(System::Windows::SizeChangedInfo ^ sizeInfo);
protected internal override void OnRenderSizeChanged (System.Windows.SizeChangedInfo sizeInfo);
override this.OnRenderSizeChanged : System.Windows.SizeChangedInfo -> unit
Protected Friend Overrides Sub OnRenderSizeChanged (sizeInfo As SizeChangedInfo)

Parameters

sizeInfo
SizeChangedInfo

Details of the old and new size involved in the change.

Remarks

This method overrides OnRenderSizeChanged. If you call this method you will reset the ActualWidth property, the ActualHeight property, or both, depending on what is specified as changed in the supplied arguments, and will you always raise the event.

Notes to Inheritors

Do not override this method for typical layout scenarios. The layout system operates in a deliberately asynchronous way to assure that all possible layout arrange and measure cases are accounted for. The layout system override methods MeasureOverride(Size) and ArrangeOverride(Size) are usually sufficient for any required layout customization. OnRenderSizeChanged(SizeChangedInfo) is exposed as a virtual. You can override OnRenderSizeChanged(SizeChangedInfo) to correct for exceptional cases where a run-time behavioral change related to input events combined with control recomposition in response might give inaccurate layout information.

You may still override this method in derived classes (it is protected but not sealed). Always call the base implementation to preserve the behavior mentioned above, unless you have very specific reasons for disabling default WPF framework-level rendering behavior. Failing to raise the SizeChanged event will cause non-standard layout behavior if using the standard WPF framework-level layout system implementation.

Applies to

See also