Skip to main content
UIElementOnRender Method

When overridden in a derived class, participates in rendering operations that are directed by the layout system. The rendering instructions for this element are not used directly when this method is invoked, and are instead preserved for later asynchronous use by layout and drawing.

Namespace:   System.Windows
Assembly:  PresentationCore (in PresentationCore.dll)

protected virtual void OnRender(
	DrawingContext drawingContext
virtual void OnRender(
	DrawingContext^ drawingContext
abstract OnRender : 
        drawingContext:DrawingContext -> unit
override OnRender : 
        drawingContext:DrawingContext -> unit
Protected Overridable Sub OnRender (
	drawingContext As DrawingContext



The drawing instructions for a specific element. This context is provided to the layout system.

This method has no default implementation in the UIElement class.

Notes to Inheritors:

The OnRender method can be overridden to add further graphical elements (not previously defined in a logical tree) to a rendered element, such as effects or adorners. A DrawingContext object is passed as an argument, which provides methods for drawing shapes, text, images or videos.

The following code example shows a possible implementation for a panel derived class.

// Override the OnRender call to add a Background and Border to the OffSetPanel
protected override void OnRender(DrawingContext dc)
    SolidColorBrush mySolidColorBrush  = new SolidColorBrush();
    mySolidColorBrush.Color = Colors.LimeGreen;
    Pen myPen = new Pen(Brushes.Blue, 10);
    Rect myRect = new Rect(0, 0, 500, 500);
    dc.DrawRectangle(mySolidColorBrush, myPen, myRect);
' Override the OnRender call to add a Background and Border to the OffSetPanel
Protected Overrides Sub OnRender(ByVal dc As DrawingContext)
	Dim mySolidColorBrush As New SolidColorBrush()
	mySolidColorBrush.Color = Colors.LimeGreen
	Dim myPen As New Pen(Brushes.Blue, 10)
	Dim myRect As New Rect(0, 0, 500, 500)
	dc.DrawRectangle(mySolidColorBrush, myPen, myRect)
End Sub
.NET Framework
Available since 3.0
Return to top