CompositeTransform 类

定义

将多个转换操作应用于对象。

public ref class CompositeTransform 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 CompositeTransform 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 CompositeTransform : Transform
Public NotInheritable Class CompositeTransform
Inherits Transform
<CompositeTransform .../>
继承
Object Platform::Object IInspectable DependencyObject GeneralTransform Transform CompositeTransform
属性

示例

此示例演示如何使用 CompositeTransform 或 TransformGroup 将相同的转换应用于对象。

<StackPanel Margin="50">
    <Canvas Background="Black" Width="200" Height="200">
        <Rectangle Height="100" Width="100" Fill="Red">
            <Rectangle.RenderTransform>

                <!-- This one line of markup is the equivalent of the entire
             TransformGroup block in the other Canvas below. -->
                <CompositeTransform SkewX="30" Rotation="45" ScaleX="0.8" ScaleY="0.8" />
            </Rectangle.RenderTransform>
        </Rectangle>
    </Canvas>

    <Canvas Margin="10" Background="Black" Width="200" Height="200">
        <Rectangle Height="100" Width="100" Fill="Red">
            <Rectangle.RenderTransform>
                <TransformGroup>

                    <!-- Note that you have to apply these transforms in 
                     a specific order to get the same effect as the
                     CompositeTransform. -->
                    <ScaleTransform ScaleX="0.8" ScaleY="0.8" />
                    <SkewTransform AngleX="30" />
                    <RotateTransform Angle="45" />
                </TransformGroup>
            </Rectangle.RenderTransform>
        </Rectangle>
    </Canvas>
</StackPanel>

注解

CompositeTransform 按以下顺序应用多个转换:

  1. Scale (ScaleXScaleY )
  2. Skew (SkewXSkewy)
  3. 旋转 (旋转)
  4. 翻译 (TranslateXTranslateY)

如果要以不同顺序对对象应用多个转换,可以创建 TransformGroup 并按预期顺序插入转换。

CompositeTransform 对所有转换使用相同的中心点 (CenterXCenterY) 。 如果要为每个转换指定不同的中心点,请使用 TransformGroup

构造函数

CompositeTransform()

初始化 CompositeTransform 类的新实例。

属性

CenterX

获取或设置与设备无关的像素中的 CompositeTransform 指定的所有转换的中心点的 x 坐标, (DIP) 相对于元素的左上角。

CenterXProperty

标识 CenterX 依赖属性。

CenterY

获取或设置与设备无关的像素中的 CompositeTransform 指定的所有转换的中心点的 y 坐标, (DIP) 相对于元素的左上角。

CenterYProperty

标识 CenterY 依赖属性。

Dispatcher

始终在Windows 应用 SDK应用中返回 null 。 请改用 DispatcherQueue

(继承自 DependencyObject)
DispatcherQueue

获取 DispatcherQueue 与此 对象关联的 。 DispatcherQueue表示可以访问 DependencyObject UI 线程上的 的功能,即使代码是由非 UI 线程启动的。

(继承自 DependencyObject)
Inverse

获取此 GeneralTransform 的反转换(如果可能)。

(继承自 GeneralTransform)
InverseCore

在派生的或自定义的 GeneralTransform 中实现 Inverse 的返回值的行为。

(继承自 GeneralTransform)
Rotation

获取或设置顺时针旋转的角度(以度为单位)。

RotationProperty

标识 Rotation 依赖属性。

ScaleX

获取或设置 x 轴缩放比例。 可以使用此属性水平拉伸或收缩对象。

ScaleXProperty

标识 ScaleX 依赖属性。

ScaleY

获取或设置 y 轴比例系数。 可以使用此属性垂直拉伸或收缩对象。

ScaleYProperty

标识 ScaleY 依赖属性。

SkewX

获取或设置 x 轴倾斜角度,该角度是从 y 轴逆时针旋转后测量得到,单位为度。 倾斜转换可用于在二维对象中创建三维深度的错觉。

SkewXProperty

标识 SkewX 依赖属性。

SkewY

获取或设置 y 轴倾斜角度,该角度通过测量从 x 轴逆时针旋转得到的角度度数得到。 倾斜转换可用于在二维对象中创建三维深度的错觉。

SkewYProperty

标识 SkewY 依赖属性。

TranslateX

获取或设置沿 X 轴平移的距离。

TranslateXProperty

标识 TranslateX 依赖属性。

TranslateY

获取或设置沿 Y 轴平移(移动)对象的距离。

TranslateYProperty

标识 TranslateY 依赖属性。

方法

ClearValue(DependencyProperty)

清除依赖属性的本地值。

(继承自 DependencyObject)
GetAnimationBaseValue(DependencyProperty)

返回为依赖属性建立的任何基值,该基值适用于动画未处于活动状态的情况。

(继承自 DependencyObject)
GetValue(DependencyProperty)

DependencyObject 返回依赖属性的当前有效值。

(继承自 DependencyObject)
ReadLocalValue(DependencyProperty)

如果设置了本地值,则返回依赖属性的本地值。

(继承自 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

注册一个通知函数,用于侦听此 DependencyObject 实例上特定 DependencyProperty 的更改。

(继承自 DependencyObject)
SetValue(DependencyProperty, Object)

设置 DependencyObject 上依赖属性的本地值。

(继承自 DependencyObject)
TransformBounds(Rect)

变换指定的边界框,并返回一个正好能容纳它的轴对齐的边界框。

(继承自 GeneralTransform)
TransformBoundsCore(Rect)

提供重写派生转换类中 TransformBounds 行为的方法。

(继承自 GeneralTransform)
TransformPoint(Point)

使用此转换对象的逻辑转换指定的点,并返回结果。

(继承自 GeneralTransform)
TryTransform(Point, Point)

尝试变换指定的点,并返回指示变换是否成功的值。

(继承自 GeneralTransform)
TryTransformCore(Point, Point)

提供重写派生转换类中的 TryTransform 行为的方法。

(继承自 GeneralTransform)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

取消以前通过调用 RegisterPropertyChangedCallback 注册的更改通知。

(继承自 DependencyObject)

适用于

另请参阅