CompositeTransform 类
可以使用此类向对象应用多种不同的转换。
System.Windows.DependencyObject
System.Windows.Media.GeneralTransform
System.Windows.Media.Transform
System.Windows.Media.CompositeTransform
命名空间: System.Windows.Media
程序集: System.Windows(在 System.Windows.dll 中)
CompositeTransform 类型公开以下成员。
名称 | 说明 | |
---|---|---|
CompositeTransform | 初始化 CompositeTransform 类的新实例。 |
名称 | 说明 | |
---|---|---|
CenterX | 获取或设置 CompositeTransform 指定的所有转换的中心点的 x 坐标。 | |
CenterY | 获取或设置 CompositeTransform 指定的所有转换的中心点的 y 坐标。 | |
Dispatcher | 获取与此对象关联的 Dispatcher。 (继承自 DependencyObject。) | |
Inverse | 获取此变换的逆变换(如果存在)。 (继承自 Transform。) | |
Rotation | 获取或设置顺时针旋转角度(以度为单位)。 | |
ScaleX | 获取或设置 x 轴的缩放比例。可以使用此属性沿水平方向拉伸或收缩对象。 | |
ScaleY | 获取或设置 y 轴的缩放比例。可以使用此属性沿垂直方向拉伸或收缩对象。 | |
SkewX | 获取或设置 x 轴扭曲角度,该角度从 y 轴开始沿逆时针方向测量,以度为单位。扭曲转换可用于在二维对象中创建三维深度幻觉。 | |
SkewY | 获取或设置 y 轴扭曲角度,该角度从 x 轴开始沿逆时针方向测量,以度为单位。扭曲转换可用于在二维对象中创建三维深度幻觉。 | |
TranslateX | 获取或设置沿 x 轴平移的距离。 | |
TranslateY | 获取或设置沿 y 轴平移(移动)对象的距离。 |
名称 | 说明 | |
---|---|---|
CheckAccess | 确定调用线程是否可以访问此对象。 (继承自 DependencyObject。) | |
ClearValue | 清除依赖项属性的本地值。 (继承自 DependencyObject。) | |
Equals(Object) | 确定指定的 Object 是否等于当前的 Object。 (继承自 Object。) | |
Finalize | 允许对象在垃圾回收对 Object 进行回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。) | |
GetAnimationBaseValue | 返回为 Silverlight 依赖项属性设置的任意基值,在动画不活动时将应用它们。 (继承自 DependencyObject。) | |
GetHashCode | 用作特定类型的哈希函数。 (继承自 Object。) | |
GetType | 获取当前实例的 Type。 (继承自 Object。) | |
GetValue | 从 DependencyObject 返回依赖项属性的当前有效值。 (继承自 DependencyObject。) | |
MemberwiseClone | 创建当前 Object 的浅表副本。 (继承自 Object。) | |
ReadLocalValue | 返回依赖项属性的本地值(如果设置了本地值)。 (继承自 DependencyObject。) | |
SetValue | 对 DependencyObject 设置依赖项属性的本地值。 (继承自 DependencyObject。) | |
ToString | 返回表示当前对象的字符串。 (继承自 Object。) | |
Transform | 变换指定的点并返回结果。 (继承自 GeneralTransform。) | |
TransformBounds | 变换指定的边界框,并返回一个正好能容纳它的轴对齐的边界框。 (继承自 Transform。) | |
TryTransform | 尝试变换指定的点,并返回指示变换是否成功的值。 (继承自 Transform。) |
名称 | 说明 | |
---|---|---|
CenterXProperty | 标识 CenterX 依赖项属性。 | |
CenterYProperty | 标识 CenterY 依赖项属性。 | |
RotationProperty | 标识 Rotation 依赖项属性。 | |
ScaleXProperty | 标识 ScaleX 依赖项属性。 | |
ScaleYProperty | 标识 ScaleY 依赖项属性。 | |
SkewXProperty | 标识 SkewX 依赖项属性。 | |
SkewYProperty | 标识 SkewY 依赖项属性。 | |
TranslateXProperty | 标识 TranslateX 依赖项属性。 | |
TranslateYProperty | 标识 TranslateY 依赖项属性。 |
并非通过使用 TransformGroup 中的单个变换对象(例如 ScaleTransform 或 SkewTransform)来对对象应用变换,您可以使用 CompositeTransform 对象的单个实例来应用所有这些基础变换(见下面的示例)。这使您能够使您的 XAML 代码更简洁。此外,CompositeTransform 以下列建议顺序应用多个转换:
-
小数位数
-
Skew — 倾斜
-
旋转
-
转换
如果由于某种原因,您要将多个转换以与这里建议的顺序不同的顺序应用到某个对象,您可以使用 TransformGroup 来这样做。如果要为所应用的各种转换指定不同的中心点,则TransformGroup 也非常有用。例如,CompositeTransform 上的 CenterX 和 CenterY 属性适用于 CompositeTransform 的所有变换,但您可以为ScaleTransform、SkewTransform 和 RotateTransform 在 TransformGroup 中指定不同的中心点。
下面的示例演示如何通过使用 TransformGroup 或 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>
Silverlight
受以下版本支持:5、4Silverlight for Windows Phone
受以下版本支持:Windows Phone OS 7.1、Windows Phone OS 7.0有关 Silverlight 支持的操作系统和浏览器的列表,请参见 支持的操作系统和浏览器。