SkewTransform 类

表示一种2-D扭曲。
继承层次结构
System . . :: . Object
   System.Windows.Threading . . :: . DispatcherObject
     System.Windows . . :: . DependencyObject
       System.Windows . . :: . Freezable
         System.Windows.Media.Animation . . :: . Animatable
           System.Windows.Media . . :: . GeneralTransform
             System.Windows.Media . . :: . Transform
               System.Windows.Media . . :: . SkewTransform
命名空间:  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

       
       
       
       
  1. 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。)
公共属性 Value Matrix 形式获取当前的变换值。 (重写 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。)
受保护的方法 WritePostscript Freezable 引发 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) 成员都是线程安全的。 但不保证所有实例成员都是线程安全的。
请参见

参考

System.Windows.Media 命名空间

其他资源

变换概述
变换帮助主题
Freezable 对象概述
2-D Transforms Sample

你可能感兴趣的:(类,C#,职场,休闲,SkewTransform)