UIElement.RenderTransform Property


Gets or sets transform information that affects the rendering position of a UIElement.

 property Transform ^ RenderTransform { Transform ^ get(); void set(Transform ^ value); };
Transform RenderTransform();

void RenderTransform(Transform value);
public Transform RenderTransform { get; set; }
var transform = uIElement.renderTransform;
uIElement.renderTransform = transform;
Public Property RenderTransform As Transform

Property Value


Describes the specifics of the desired render transform. The default value is null.


This XAML defines a Matrix that provides data for a MatrixTransform applied to a rectangular shape as its RenderTransform. In this case, the matrix combines an offset (OffsetX and OffsetY) and a skew (M12). Note that this same effect could have been produced by combining a TranslateTransform and a SkewTransform; whether to use a single Matrix or combinations of discrete transforms (with TransformGroup) is a matter of coding style; the results are identical.

<Rectangle Width="60" Height="60" Fill="Blue">
    <!-- This matrix transforms the x,y position of the rectangle and skews it. -->
    <MatrixTransform Matrix="1,0.5,0,1,30,100"/>


You can animate a transform, if you target sub-properties of the specific transform being used that take Double values. Or you can use ObjectAnimationUsingKeyFrames to cycle through distinct transforms. Classes such as QuarticEase show some example XAML.

If you do animate RenderTransform, make sure there is an existing starting Transform value, even if it is all at default values. You can't animate a RenderTransform value that is initially null.

The value of RenderTransform is overridden by PointerDownThemeAnimation and PointerUpThemeAnimation.

Applies to

See also