表示一种2-D扭曲。
继承层次结构
命名空间: System.Windows.Media
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.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
程序集: 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。) |
![]() |
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 | 重写 OnPropertyChanged 的 DependencyObject 实现,以便还调用任何 Changed 处理程序来响应 Freezable 类型的发生变化的依赖项属性。 (继承自 Freezable。) |
![]() |
ReadLocalValue | 返回依赖项属性的本地值(如果存在)。 (继承自 DependencyObject。) |
![]() |
ReadPreamble | 确保正在从有效的线程访问 Freezable。 Freezable 的继承者必须在任何 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
.gif)
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