Transform Class


Defines functionality that enables transformations in a two-dimensional plane.

Equivalent WinUI class: Microsoft.UI.Xaml.Media.Transform.

public ref class Transform : GeneralTransform
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Transform : GeneralTransform
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public class Transform : GeneralTransform
Public Class Transform
Inherits GeneralTransform

Windows requirements

Device family
Windows 10 (introduced in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v1.0)


Transformation types include rotation (@"Windows.UI.Xaml.Media.RotateTransform?text=RotateTransform" ), scale (@"Windows.UI.Xaml.Media.ScaleTransform?text=ScaleTransform" ), skew/shear (@"Windows.UI.Xaml.Media.SkewTransform?text=SkewTransform" ), and translation (@"Windows.UI.Xaml.Media.TranslateTransform?text=TranslateTransform" ).

MatrixTransform is for transforms that don't use these conventions and instead use Matrix values for transform definition.

CompositeTransform and TransformGroup both support specifying multiple transforms for a combined transformation logic.

You can animate properties of a transform. For XAML syntaxes that take a Transform, you need to specify a nonabstract derived type of Transform as an object element. Typically, this is one of: MatrixTransform, RotateTransform, ScaleTransform, SkewTransform, or TranslateTransform. See the syntax sections on the appropriate class.

Use the MatrixTransform class to create custom transformations that are not provided by the other Transform derived classes. A two-dimensional x-y plane uses a 3x3 matrix for transformations.

Transform is the property type for UIElement.RenderTransform. With this property, you can apply any of the practical transforms to a UIElement when it renders. Other less commonly used properties that take a Transform are: Brush.RelativeTransform, Brush.Transform, Geometry.Transform.

Transform derived classes

Transform is the parent class for several derived classes that define different categories of transformations:



Gets the CoreDispatcher that this object is associated with. The CoreDispatcher represents a facility that can access the DependencyObject on the UI thread even if the code is initiated by a non-UI thread.

Equivalent WinUI property: Microsoft.UI.Xaml.DependencyObject.Dispatcher.

(Inherited from DependencyObject)

Gets the inverse transformation of this GeneralTransform, if possible.

Equivalent WinUI property: Microsoft.UI.Xaml.Media.GeneralTransform.Inverse.

(Inherited from GeneralTransform)

Implements the behavior for return value of Inverse in a derived or custom GeneralTransform.

Equivalent WinUI property: Microsoft.UI.Xaml.Media.GeneralTransform.InverseCore.

(Inherited from GeneralTransform)



Clears the local value of a dependency property.

Equivalent WinUI method: Microsoft.UI.Xaml.DependencyObject.ClearValue.

(Inherited from DependencyObject)

Returns any base value established for a dependency property, which would apply in cases where an animation is not active.

Equivalent WinUI method: Microsoft.UI.Xaml.DependencyObject.GetAnimationBaseValue.

(Inherited from DependencyObject)

Returns the current effective value of a dependency property from a DependencyObject.

Equivalent WinUI method: Microsoft.UI.Xaml.DependencyObject.GetValue.

(Inherited from DependencyObject)

Returns the local value of a dependency property, if a local value is set.

Equivalent WinUI method: Microsoft.UI.Xaml.DependencyObject.ReadLocalValue.

(Inherited from DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registers a notification function for listening to changes to a specific DependencyProperty on this DependencyObject instance.

Equivalent WinUI method: Microsoft.UI.Xaml.DependencyObject.RegisterPropertyChangedCallback.

(Inherited from DependencyObject)
SetValue(DependencyProperty, Object)

Sets the local value of a dependency property on a DependencyObject.

Equivalent WinUI method: Microsoft.UI.Xaml.DependencyObject.SetValue.

(Inherited from DependencyObject)

Transforms the specified bounding box and returns an axis-aligned bounding box that is exactly large enough to contain it.

Equivalent WinUI method: Microsoft.UI.Xaml.Media.GeneralTransform.TransformBounds.

(Inherited from GeneralTransform)

Provides the means to override the TransformBounds behavior in a derived transform class.

Equivalent WinUI method: Microsoft.UI.Xaml.Media.GeneralTransform.TransformBoundsCore.

(Inherited from GeneralTransform)

Uses this transformation object's logic to transform the specified point, and returns the result.

Equivalent WinUI method: Microsoft.UI.Xaml.Media.GeneralTransform.TransformPoint.

(Inherited from GeneralTransform)
TryTransform(Point, Point)

Attempts to transform the specified point and returns a value that indicates whether the transformation was successful.

Equivalent WinUI method: Microsoft.UI.Xaml.Media.GeneralTransform.TryTransform.

(Inherited from GeneralTransform)
TryTransformCore(Point, Point)

Provides the means to override the TryTransform behavior in a derived transform class.

Equivalent WinUI method: Microsoft.UI.Xaml.Media.GeneralTransform.TryTransformCore.

(Inherited from GeneralTransform)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Cancels a change notification that was previously registered by calling RegisterPropertyChangedCallback.

Equivalent WinUI method: Microsoft.UI.Xaml.DependencyObject.UnregisterPropertyChangedCallback.

(Inherited from DependencyObject)

Applies to

See also