PlaneProjection 类
表示对象的透视转换(类似三维效果)。
System.Windows.DependencyObject
System.Windows.Media.Projection
System.Windows.Media.PlaneProjection
程序集: System.Windows(在 System.Windows.dll 中)
PlaneProjection 类型公开以下成员。
名称 | 说明 | |
---|---|---|
CenterOfRotationX | 获取或设置所旋转对象的旋转中心 X 坐标。 | |
CenterOfRotationY | 获取或设置所旋转对象的旋转中心 Y 坐标。 | |
CenterOfRotationZ | 获取或设置所旋转对象的旋转中心 Z 坐标。 | |
Dispatcher | 获取与此对象关联的 Dispatcher。 (继承自 DependencyObject。) | |
GlobalOffsetX | 获取或设置沿屏幕的 X 轴平移对象的距离。 | |
GlobalOffsetY | 获取或设置沿屏幕的 Y 轴平移对象的距离。 | |
GlobalOffsetZ | 获取或设置沿屏幕的 Z 轴平移对象的距离。 | |
LocalOffsetX | 获取或设置沿对象平面的 X 轴平移对象的距离。 | |
LocalOffsetY | 获取或设置沿对象平面的 Y 轴平移对象的距离。 | |
LocalOffsetZ | 获取或设置沿对象平面的 Z 轴平移对象的距离。 | |
ProjectionMatrix | 获取 PlaneProjection 的投影矩阵。 | |
RotationX | 获取或设置围绕旋转的 X 轴旋转对象的角度。 | |
RotationY | 获取或设置围绕旋转的 Y 轴旋转对象的角度。 | |
RotationZ | 获取或设置围绕旋转的 Z 轴旋转对象的角度。 |
名称 | 说明 | |
---|---|---|
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。) |
名称 | 说明 | |
---|---|---|
CenterOfRotationXProperty | 标识 CenterOfRotationX 依赖项属性。 | |
CenterOfRotationYProperty | 标识 CenterOfRotationY 依赖项属性。 | |
CenterOfRotationZProperty | 标识 CenterOfRotationZ 依赖项属性。 | |
GlobalOffsetXProperty | 标识 GlobalOffsetX 依赖项属性。 | |
GlobalOffsetYProperty | 标识 GlobalOffsetY 依赖项属性。 | |
GlobalOffsetZProperty | 标识 GlobalOffsetZ 依赖项属性。 | |
LocalOffsetXProperty | 标识 LocalOffsetX 依赖项属性。 | |
LocalOffsetYProperty | 标识 LocalOffsetY 依赖项属性。 | |
LocalOffsetZProperty | 标识 LocalOffsetZ 依赖项属性。 | |
ProjectionMatrixProperty | 标识 ProjectionMatrix 依赖项属性。 | |
RotationXProperty | 标识 RotationX 依赖项属性。 | |
RotationYProperty | 标识 RotationY 依赖项属性。 | |
RotationZProperty | 标识 RotationZ 依赖项属性。 |
此类用于创建对象的透视转换(三维效果)。 例如,您可以创建对象朝向您或背离您旋转的幻觉。
具有透视转换的图像
尽管上图中显示了应用于一个简单图像的透视转换,但您可以将透视转换应用于 UIElement,包括控件。 例如,您可以将该效果应用于 Grid,而后者又包含 TextBox 和 Button。 尽管旋转这些控件,但用户可以在 TextBox 中键入内容并单击 Button(假定这些控件可见)。
使用透视转换的另一个常见情形是相对于彼此对对象进行排列,以便创建三维效果,如下图中所示。
堆叠对象以创建三维效果
除了创建静态的三维效果外,还可以对透视转换属性进行动画处理,以便创建移动的三维效果。
PlaneProjection 具有以下 12 个可用于控制对象的旋转和位置的属性:RotationX、RotationY、RotationZ、CenterOfRotationX、CenterOfRotationY、CenterOfRotationZ、GlobalOffsetX、GlobalOffsetY、GlobalOffsetZ、LocalOffsetX、LocalOffsetY 和 LocalOffsetZ。 通过以下示例可体验这些属性。
说明: |
---|
透视转换不等同于三维引擎,但二者均可用于使二维 Silverlight 内容的显示效果如同在三维平面中绘制的一样。 |
若要将某一属性转换应用于 UIElement,请将 Projection 对象的 UIElement 属性设置为 PlaneProjection。 PlaneProjection 定义转换在空间中呈现的方式。 下面的示例显示了一个简单的情况。
<StackPanel Margin="35" Background="Gray"> <StackPanel.Projection> <PlaneProjection RotationX="-35" RotationY="-35" RotationZ="15" /> </StackPanel.Projection> <TextBlock Margin="10">Type Something Below</TextBlock> <TextBox Margin="10"></TextBox> <Button Margin="10" Content="Click" Width="100" /> </StackPanel>
有关 Silverlight 支持的操作系统和浏览器的列表,请参见 支持的操作系统和浏览器。