Share via


SkewTransform Class

Definition

Represents a two-dimensional skew.

public ref class SkewTransform sealed : Transform
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SkewTransform final : Transform
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class SkewTransform : Transform
Public NotInheritable Class SkewTransform
Inherits Transform
<SkewTransform .../>
Inheritance
Object Platform::Object IInspectable DependencyObject GeneralTransform Transform SkewTransform
Attributes

Examples

This example uses a SkewTransform to skew text. A skew, also known as a shear, is a transformation that stretches the coordinate space in a non-uniform manner. In this example, the two text strings are skewed -30 degrees and 30 degrees along the x-coordinate.

<Canvas Margin="30">
    <!-- Skew the text using a SkewTransform. -->
    <TextBlock FontSize="32"
               FontWeight="Bold" 
               Foreground="Maroon"
               Text="Skewed Text">
        <TextBlock.RenderTransform>
            <SkewTransform AngleX="-30" AngleY="0" />
        </TextBlock.RenderTransform>
    </TextBlock>

    <TextBlock Canvas.Top="60"
               FontSize="32"
               FontWeight="Bold" 
               Foreground="Maroon"
               Text="Skewed Text">
        <TextBlock.RenderTransform>
            <SkewTransform AngleX="30" AngleY="0" />
        </TextBlock.RenderTransform>
    </TextBlock>
</Canvas>

The text looks like this after the transform is applied:

Text with a skew transform applied

This example shows how you can access and modify a transform in code at runtime. Each time the rectangle is pressed, the skew is increased.

<Rectangle PointerPressed="IncreaseSkew"
           Width="50" Height="50" 
           Fill="RoyalBlue">
    <Rectangle.RenderTransform>
        <!-- If you give the transform a name 
             you can access it easily from code. -->
        <SkewTransform x:Name="mySkewTransform" />
    </Rectangle.RenderTransform>
</Rectangle>
public void IncreaseSkew(object sender, RoutedEventArgs e)
{
    mySkewTransform.AngleX = mySkewTransform.AngleX + 5;
}

Constructors

SkewTransform()

Initializes a new instance of the SkewTransform class.

Properties

AngleX

Gets or sets the x-axis skew angle, which is measured in degrees counterclockwise from the y-axis.

AngleXProperty

Identifies the AngleX dependency property.

AngleY

Gets or sets the y-axis skew angle, which is measured in degrees counterclockwise from the x-axis.

AngleYProperty

Identifies the AngleY dependency property.

CenterX

Gets or sets the x-coordinate of the transform center.

CenterXProperty

Identifies the CenterX dependency property.

CenterY

Gets or sets the y-coordinate of the transform center.

CenterYProperty

Identifies the CenterY dependency property.

Dispatcher

Always returns null in a Windows App SDK app. Use DispatcherQueue instead.

(Inherited from DependencyObject)
DispatcherQueue

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

(Inherited from DependencyObject)
Inverse

Gets the inverse transformation of this GeneralTransform, if possible.

(Inherited from GeneralTransform)
InverseCore

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

(Inherited from GeneralTransform)

Methods

ClearValue(DependencyProperty)

Clears the local value of a dependency property.

(Inherited from DependencyObject)
GetAnimationBaseValue(DependencyProperty)

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

(Inherited from DependencyObject)
GetValue(DependencyProperty)

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

(Inherited from DependencyObject)
ReadLocalValue(DependencyProperty)

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

(Inherited from DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

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

(Inherited from DependencyObject)
SetValue(DependencyProperty, Object)

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

(Inherited from DependencyObject)
TransformBounds(Rect)

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

(Inherited from GeneralTransform)
TransformBoundsCore(Rect)

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

(Inherited from GeneralTransform)
TransformPoint(Point)

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

(Inherited from GeneralTransform)
TryTransform(Point, Point)

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

(Inherited from GeneralTransform)
TryTransformCore(Point, Point)

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

(Inherited from GeneralTransform)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

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

(Inherited from DependencyObject)

Applies to

See also