[WPF]PlaneProjection三维效果
2016-01-07 11:15
218 查看
表示对象的透视转换(类似三维效果)。
System.Object
System.Windows.DependencyObject
System.Windows.Media.Projection
System.Windows.Media.PlaneProjection
命名空间: System.Windows.Media
程序集: System.Windows(在 System.Windows.dll 中)
C#
VB
复制
XAML 对象元素用法
复制
PlaneProjection 类型公开以下成员。
显示: 继承
保护
页首
显示: 继承
保护
页首
显示: 继承
保护
页首
显示: 继承
保护
页首
此类用于创建对象的透视转换(三维效果)。
例如,您可以创建对象朝向您或背离您旋转的幻觉。
具有透视转换的图像
尽管上图中显示了应用于一个简单图像的透视转换,但您可以将透视转换应用于 UIElement,包括控件。
例如,您可以将该效果应用于 Grid,而后者又包含
TextBox 和
Button。
尽管旋转这些控件,但用户可以在 TextBox 中键入内容并单击
Button(假定这些控件可见)。
使用透视转换的另一个常见情形是相对于彼此对对象进行排列,以便创建三维效果,如下图中所示。
堆叠对象以创建三维效果
除了创建静态的三维效果外,还可以对透视转换属性进行动画处理,以便创建移动的三维效果。
运行此示例
PlaneProjection
具有以下 12 个可用于控制对象的旋转和位置的属性:RotationX、RotationY、RotationZ、CenterOfRotationX、CenterOfRotationY、CenterOfRotationZ、GlobalOffsetX、GlobalOffsetY、GlobalOffsetZ、LocalOffsetX、LocalOffsetY
和 LocalOffsetZ。
通过以下示例可体验这些属性。
运行此示例
若要将某一属性转换应用于 UIElement,请将
Projection 对象的
UIElement 属性设置为
PlaneProjection。
PlaneProjection 定义转换在空间中呈现的方式。
下面的示例显示了一个简单的情况。
运行此示例
XAML
复制
有关 Silverlight 支持的操作系统和浏览器的列表,请参见
支持的操作系统和浏览器。
此类型的任何公共
static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
转自MSDN:https://msdn.microsoft.com/zh-cn/library/system.windows.media.planeprojection(VS.95).aspx
PlaneProjection 类
Silverlight表示对象的透视转换(类似三维效果)。
继承层次结构
System.ObjectSystem.Windows.DependencyObject
System.Windows.Media.Projection
System.Windows.Media.PlaneProjection
命名空间: System.Windows.Media
程序集: System.Windows(在 System.Windows.dll 中)
语法
C#VB
复制
public sealed class PlaneProjection : Projection
XAML 对象元素用法
复制
<PlaneProjection .../>
PlaneProjection 类型公开以下成员。
构造函数
显示: 继承保护
名称 | 说明 | |
---|---|---|
PlaneProjection | 初始化 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 定义转换在空间中呈现的方式。
下面的示例显示了一个简单的情况。
运行此示例
XAML
复制
<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
受以下版本支持:5、4、3Silverlight for Windows Phone
受以下版本支持:Windows Phone OS 7.1、Windows Phone OS 7.0
平台
有关 Silverlight 支持的操作系统和浏览器的列表,请参见支持的操作系统和浏览器。
线程安全
此类型的任何公共static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
转自MSDN:https://msdn.microsoft.com/zh-cn/library/system.windows.media.planeprojection(VS.95).aspx
相关文章推荐
- UIColor RGB颜色对照表
- 浅谈iOS Push 在iOS6/7/8/9中的进化
- mac版本的cornerstone的破解方法,永久使用
- linux键盘input_event浅析【转】
- Linux使用Shell脚本实现ftp的自动上传下载
- Java clone() 浅克隆与深度克隆
- 如何代码设置以管理员身份启动程序
- MySQL 语句
- ELK安装文档及相关优化
- 再次复习java正则表达式
- PHP烂代码救星-之上传附件《读thinkphp代码有感》
- 【Log4j】Java日志记录的5条规则
- org 07c00h的原因
- UIScrollView
- linux sed简单使用
- java开发前奏
- txt文本行数计算;转为二维数组;二维数组写为txt内容
- 第6集 精通spark集群搭建
- 轮询和长轮询
- YTU 1075: Time