Transform 类 | 描述 | 使用示例 | 适用场景 |
---|---|---|---|
TranslateTransform | 用于沿 X 轴或 Y 轴平移(移动)元素。 | xml <TranslateTransform X="50" Y="100" /> | 移动控件的位置,如动画中移动按钮或图片。 |
RotateTransform | 用于围绕指定点旋转元素。 | xml <RotateTransform Angle="45" CenterX="50" CenterY="50" /> | 旋转控件或图像,如旋转按钮、旋转动画等。 |
ScaleTransform | 用于按比例缩放元素,可以分别缩放 X 轴和 Y 轴。 | xml <ScaleTransform ScaleX="1.5" ScaleY="1.5" /> | 缩放控件或图像的大小,如放大/缩小按钮或图片。 |
SkewTransform | 用于沿 X 轴或 Y 轴倾斜元素。 | xml <SkewTransform AngleX="30" AngleY="0" /> | 倾斜控件或图像,创建类似3D效果,如按钮倾斜动画。 |
MatrixTransform | 使用矩阵变换元素,可以进行复杂的平移、旋转、缩放、倾斜等组合操作。 | xml <MatrixTransform Matrix="1,0,0,1,50,50" /> | 复杂的变换操作,适用于需要同时进行平移、旋转、缩放等变换的场景。 |
TransformGroup | 将多个变换组合成一个复合变换,可以对元素应用多个变换。 | xml <TransformGroup><RotateTransform Angle="45" /><TranslateTransform X="50" Y="100" /></TransformGroup> | 组合多个变换,如同时平移、旋转、缩放控件或图像。 |
GeometryTransform | 将变换应用于 Geometry 对象,通常用于 Path 等控件。 | xml <GeometryTransform><RotateTransform Angle="90" /></GeometryTransform> | 对几何图形进行变换,如在 Path 中旋转或平移几何图形。 |
TranslateTransform:
RotateTransform:
ScaleTransform:
SkewTransform:
MatrixTransform:
TransformGroup:
GeometryTransform:
Path
控件中旋转、平移或缩放 Geometry
对象。这些 Transform
类通常应用于 UI 控件或元素的变换效果,如移动、旋转、缩放等。例如:
<Grid>
<!-- 平移按钮 -->
<Button Content="Translate Me" Width="100" Height="50">
<Button.RenderTransform>
<TranslateTransform X="50" Y="50" />
</Button.RenderTransform>
</Button>
<!-- 旋转文本块 -->
<TextBlock Text="Rotate Me" FontSize="30" Foreground="Blue" Margin="0,100,0,0">
<TextBlock.RenderTransform>
<RotateTransform Angle="45" CenterX="0" CenterY="0" />
</TextBlock.RenderTransform>
</TextBlock>
<!-- 缩放图片 -->
<Image Source="image.png" Width="100" Height="100" Margin="0,200,0,0">
<Image.RenderTransform>
<ScaleTransform ScaleX="1.5" ScaleY="1.5" />
</Image.RenderTransform>
</Image>
<!-- 组合变换 -->
<Rectangle Width="100" Height="50" Fill="Green" Margin="0,320,0,0">
<Rectangle.RenderTransform>
<TransformGroup>
<RotateTransform Angle="45" />
<TranslateTransform X="50" Y="50" />
</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>
</Grid>