表示一种2-D扭曲。
命名空间:  System.Windows.Media
程序集:  PresentationCore(在 PresentationCore.dll 中)
用于 XAML 的 XMLNS:http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
语法
Public NotInheritable Class SkewTransform _
	Inherits Transform
public sealed class SkewTransform : Transform
public ref class SkewTransform sealed : public Transform
[<Sealed>]
type SkewTransform =  
    class
        inherit Transform
    end
<SkewTransform .../>
SkewTransform 类型公开以下成员。
构造函数
 名称说明
公共方法SkewTransform()()()初始化 SkewTransform 类的一个新实例。
公共方法SkewTransform(Double, Double)初始化 SkewTransform 类的一个新实例,该实例具有指定的 x 轴和 y 轴角度并以原点为中心。
公共方法SkewTransform(Double, Double, Double, Double)初始化 SkewTransform 类的一个新实例,该实例具有指定的 x 轴和 y 轴角度及中心。
页首
属性
 名称说明
公共属性AngleX获取或设置 x 轴扭曲角度,该角度从 y 轴开始沿逆时针方向测量,以度为单位。
公共属性AngleY获取或设置 y 轴扭曲角度,该角度从 x 轴开始沿逆时针方向测量,以度为单位。
公共属性CanFreeze获取一个值,该值指示是否可将对象变为不可修改。 (继承自 Freezable。)
公共属性CenterX获取或设置变换中心的 x 坐标。
公共属性CenterY获取或设置变换中心的 y 坐标。
公共属性DependencyObjectType获取对此实例的 CLR 类型进行包装的 DependencyObjectType。  (继承自 DependencyObject。)
公共属性Dispatcher获取与此 DispatcherObject 关联的 Dispatcher。 (继承自 DispatcherObject。)
公共属性HasAnimatedProperties获取一个值,该值指示一个或多个 AnimationClock 对象是否与此对象的任何依赖项属性相关联。 (继承自 Animatable。)
公共属性Inverse获取此变换的逆变换(如果存在)。 (继承自 Transform。)
公共属性IsFrozen获取一个值,该值指示对象当前是否可修改。 (继承自 Freezable。)
公共属性IsSealed获取一个值,该值指示此实例当前是否为密封的(只读)。 (继承自 DependencyObject。)
公共属性ValueMatrix 形式获取当前的变换值。 (重写 Transform..::.Value。)
页首
方法
 名称说明
公共方法ApplyAnimationClock(DependencyProperty, AnimationClock)将一个 AnimationClock 应用到指定的 DependencyProperty。 如果该属性已经过动画处理,则使用 SnapshotAndReplace 提交行为。 (继承自 Animatable。)
公共方法ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)将一个 AnimationClock 应用到指定的 DependencyProperty。 如果该属性已进行动画处理,则使用指定的 HandoffBehavior。 (继承自 Animatable。)
公共方法BeginAnimation(DependencyProperty, AnimationTimeline)将动画应用到指定的 DependencyProperty。 该动画在呈现下一帧时启动。 如果指定的属性已进行动画处理,则使用 SnapshotAndReplace 提交行为。 (继承自 Animatable。)
公共方法BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)将动画应用到指定的 DependencyProperty。 该动画在呈现下一帧时启动。 如果指定的属性已进行动画处理,则使用指定的 HandoffBehavior。 (继承自 Animatable。)
公共方法CheckAccess确定调用线程是否可以访问此 DispatcherObject。 (继承自 DispatcherObject。)
公共方法ClearValue(DependencyProperty)清除属性的本地值。 要清除的属性由 DependencyProperty 标识符指定。 (继承自 DependencyObject。)
公共方法ClearValue(DependencyPropertyKey)清除只读属性的本地值。 要清除的属性由 DependencyPropertyKey 指定。 (继承自 DependencyObject。)
公共方法Clone通过制作此 SkewTransform 的值的深层副本来创建它的可修改副本。
受保护的方法CloneCore使用基(未经过动画处理的)属性值使该实例成为指定的 Freezable 的复本(深层副本)。 (继承自 Freezable。)
公共方法CloneCurrentValue通过制作此 SkewTransform 对象的值的深层副本来创建它的可修改副本。 此方法不复制资源引用、数据绑定或动画,但复制其当前值。
受保护的方法CloneCurrentValueCore使用当前属性值使该实例成为指定的 Freezable 的可修改复本(深层副本)。 (继承自 Freezable。)
公共方法CoerceValue强制转换所指定依赖项属性的值。 当依赖项属性存在于调用 DependencyObject 上时,可通过调用依赖项属性的属性元数据中指定的任何 CoerceValueCallback 函数来实现此目的。 (继承自 DependencyObject。)
受保护的方法CreateInstance初始化 Freezable 类的一个新实例。 (继承自 Freezable。)
受保护的方法CreateInstanceCore在派生类中实现时,创建 Freezable 派生类的新实例。 (继承自 Freezable。)
公共方法Equals确定提供的 DependencyObject 是否等效于当前 DependencyObject。 (继承自 DependencyObject。)
受保护的方法Finalize下面的示例使用 $$$$方法实例化一个字符串,表示 每个 Aegean 的数目。 (继承自 Object。)
公共方法Freeze()()()使当前对象变为不可修改并将其 IsFrozen 属性设置为 true。 (继承自 Freezable。)
受保护的方法FreezeCore使此 Animatable 对象成为不可修改的对象,或确定是否可使其成为不可修改的对象。 (继承自 Animatable。)
公共方法GetAnimationBaseValue返回指定的 DependencyProperty 的未经过动画处理的值。 (继承自 Animatable。)
公共方法GetAsFrozen使用基(未经过动画处理的)属性值创建 Freezable 的冻结副本。 由于副本已冻结,因此将通过引用复制任何冻结的子对象。 (继承自 Freezable。)
受保护的方法GetAsFrozenCore使用基(未经过动画处理的)属性值使该实例成为指定的 Freezable 的冻结复本。 (继承自 Freezable。)
公共方法GetCurrentValueAsFrozen使用当前属性值创建 Freezable 的冻结副本。 由于副本已冻结,因此将通过引用复制任何冻结的子对象。 (继承自 Freezable。)
受保护的方法GetCurrentValueAsFrozenCore使当前实例成为指定的 Freezable 的冻结复本。 如果对象具有经过动画处理的依赖项对象,则复制这些属性当前经过动画处理的值。 (继承自 Freezable。)
公共方法GetHashCode获取此 DependencyObject 的哈希代码。 (继承自 DependencyObject。)
公共方法GetLocalValueEnumerator创建一个专用的枚举数,用于确定哪些依赖项属性在此 DependencyObject 上具有以本地方式设置的值。 (继承自 DependencyObject。)
公共方法GetType获取当前实例的 Type。 (继承自 Object。)
公共方法GetValue返回 DependencyObject 的此实例上的依赖项属性的当前有效值。 (继承自 DependencyObject。)
公共方法InvalidateProperty重新计算指定依赖项属性的有效值 (继承自 DependencyObject。)
受保护的方法MemberwiseClone创建当前 Object 的浅表副本。 (继承自 Object。)
受保护的方法OnChanged修改当前 Freezable 对象时调用。 (继承自 Freezable。)
受保护的方法OnFreezablePropertyChanged(DependencyObject, DependencyObject)确保为刚刚设置的 DependencyObjectType 数据成员建立适当的上下文指针。 (继承自 Freezable。)
受保护的方法OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)此成员支持 Windows Presentation Foundation (WPF) 基础结构,但不应在代码中直接使用。 (继承自 Freezable。)
受保护的方法OnPropertyChanged重写 OnPropertyChangedDependencyObject 实现,以便还调用任何 Changed 处理程序来响应 Freezable 类型的发生变化的依赖项属性。 (继承自 Freezable。)
公共方法ReadLocalValue返回依赖项属性的本地值(如果存在)。 (继承自 DependencyObject。)
受保护的方法ReadPreamble确保正在从有效的线程访问 FreezableFreezable 的继承者必须在任何 API 一开始读取不属于依赖项对象的数据成员时调用此方法。 (继承自 Freezable。)
公共方法SetCurrentValue设置依赖项属性的值而不更改其值源。 (继承自 DependencyObject。)
公共方法SetValue(DependencyProperty, Object)设置依赖项属性的本地值,该依赖项属性由其标识符指定。 (继承自 DependencyObject。)
公共方法SetValue(DependencyPropertyKey, Object)设置只读依赖项属性的本地值,该依赖项属性由其 DependencyPropertyKey 标识符指定。 (继承自 DependencyObject。)
受保护的方法ShouldSerializeProperty返回一个值,该值指示序列化进程是否应序列化提供的依赖项属性的值。 (继承自 DependencyObject。)
公共方法ToString()()()创建此 GeneralTransform 的字符串表示形式。 (继承自 GeneralTransform。)
公共方法ToString(IFormatProvider)基于传递的 IFormatProvider 参数创建此实例的字符串表示形式。 (继承自 GeneralTransform。)
公共方法Transform变换指定的点并返回结果。 (继承自 GeneralTransform。)
公共方法TransformBounds变换指定的边界框,并返回一个正好能容纳它的轴对齐的边界框。 (继承自 Transform。)
公共方法TryTransform尝试变换指定的点,并返回指示变换是否成功的值。 (继承自 Transform。)
公共方法VerifyAccess强制调用线程具有此 DispatcherObject 的访问权限。 (继承自 DispatcherObject。)
受保护的方法WritePostscriptFreezable 引发 Changed 事件并调用其 OnChanged 方法。 从 Freezable 派生的类应在任何 API 结束对未存储为依赖项属性的类成员的修改时调用此方法。 (继承自 Freezable。)
受保护的方法WritePreamble验证 Freezable 是否未被冻结,并且是否正在从有效的线程上下文中访问它。 Freezable 的继承项应当在任何 API 一开始写入不属于依赖项属性的数据成员时调用此方法。 (继承自 Freezable。)
页首
事件
 名称说明
公共事件Changed在修改 Freezable 或其包含的对象时发生。 (继承自 Freezable。)
页首
字段
 名称说明
公共字段静态成员AngleXProperty标识 AngleX 依赖项属性。
公共字段静态成员AngleYProperty标识 AngleY 依赖项属性。
公共字段静态成员CenterXProperty标识 CenterX 依赖项属性。
公共字段静态成员CenterYProperty标识 CenterY 依赖项属性。
页首
显式接口实现
 名称说明
显式接口实现私有方法IFormattable..::.ToString使用指定的格式格式化当前实例的值。 (继承自 GeneralTransform。)
页首
备注
SkewTransform 可用于在 2-D 对象中创建三维深度幻觉。
可冻结功能:由于继承自 Freezable 类,因此 SkewTransform 类提供了一些特殊功能: SkewTransform 对象可按 资源中的方式进行声明、在多个对象之间共享、设为只读以提高性能、进行克隆以及设为线程安全。 有关 Freezable 对象提供的不同功能的更多信息,请参见 Freezable 对象概述
示例
This example shows how to use a SkewTransform to skew an element. A skew, which is also known as a shear, is a transformation that stretches the coordinate space in a non-uniform manner. One typical use of a SkewTransform is for simulating 3-D depth in 2-D objects.
Use the CenterX and CenterY properties to specify the center point of the SkewTransform.
Use the AngleX and AngleY properties to specify the skew angle of the x-axis and y-axis, and to skew the current coordinate system along these axes.
To predict the effect of a skew transformation, consider that AngleX skews x-axis values relative to the original coordinate system. Therefore, for an AngleX of 30, the y-axis rotates 30 degrees through the origin and skews the values in x- by 30 degrees from that origin. Likewise, an AngleY of 30 skews the y- values of the shape by 30 degrees from the origin. Note that this is not the same effect as translating (moving) the coordinate system by 30 degrees in x- or y-.
The following example applies a horizontal skew of 45 degrees to a Rectangle from a center point of (0,0).

<Rectangle 
  Height="50" Width="50" Fill="#CCCCCCFF" 
  Stroke="Blue" StrokeThickness="2"
  Canvas.Left="100" Canvas.Top="100">
  <Rectangle.RenderTransform>
     <!-- Applies a horizontal skew of 45 degrees 
          from a center point of (0,0). -->             
    <SkewTransform CenterX="0" CenterY="0" AngleX="45" AngleY="0" />
  </Rectangle.RenderTransform>
</Rectangle>
The following example applies a horizontal skew of 45 degrees to a Rectangle from a center point of (25,25).

<Rectangle Height="50" Width="50" Fill="#CCCCCCFF"
  Canvas.Left="100" Canvas.Top="100" 
  Stroke="Blue" StrokeThickness="2">
  <Rectangle.RenderTransform>
     <!-- Applies a horizontal skew of 45 degrees 
          from a center point of (25,25). -->  
    <SkewTransform CenterX="25" CenterY="25" AngleX="45" AngleY="0" />
  </Rectangle.RenderTransform>
</Rectangle>
The following example applies a vertical skew of 45 degrees to a Rectangle from a center point of (25,25).

<Rectangle Height="50" Width="50" Fill="#CCCCCCFF" 
  Stroke="Blue" StrokeThickness="2"
  Canvas.Left="100" Canvas.Top="100">
  <Rectangle.RenderTransform>
     <!-- Applies a vertical skew of 45 degrees 
          from a center point of (25,25). -->             
    <SkewTransform CenterX="25" CenterY="25" AngleX="0" AngleY="45" />
  </Rectangle.RenderTransform>
</Rectangle> 
The following illustration shows the different skews that are used in this example.
The three SkewTransform examples illustrated

SkewTransform
For the complete sample, see 2-D Transforms Sample.
版本信息
.NET Framework
受以下版本支持:4、3.5、3.0
.NET Framework Client Profile
受以下版本支持:4、3.5 SP1
平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心角色), Windows Server 2008 R2(不支持服务器核心角色), Windows Server 2003 SP2
.NET Framework 并不是对每个平台的所有版本都提供支持。 有关支持的版本的列表,请参见.NET Framework 系统要求
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。 但不保证所有实例成员都是线程安全的。