GeneralTransform Class


Provides generalized transformation support for objects. GeneralTransform is a base class that's in the hierarchy of practical transform classes such as TranslateTransform.

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

public ref class GeneralTransform : DependencyObject
/// [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 GeneralTransform : DependencyObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public class GeneralTransform : DependencyObject
Public Class GeneralTransform
Inherits DependencyObject
Object IInspectable DependencyObject 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 (RotateTransform), scale (ScaleTransform), skew/shear (SkewTransform), and translation (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.

There's also an intermediate base class, Transform. Properties sometimes are typed as GeneralTransform or Transform so that you can use any of the practical transforms to provide values.

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.

GeneralTransform derived classes

GeneralTransform is the parent class for Transform. Transform is the parent class for the practical transforms.



Provides base class initialization behavior for GeneralTransform-derived classes.



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.


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

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



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.


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

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


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

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

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.

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.

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