更新:2007 年 11 月
命名空间:
System.Windows.Media.Media3D 程序集:
PresentationCore(在 PresentationCore.dll 中)
用于 XAML 的 XMLNS:http://schemas.microsoft.com/winfx/xaml/presentation
<ContentPropertyAttribute("Visual")> _
Public NotInheritable Class Viewport2DVisual3D _
Inherits Visual3D
Dim instance As Viewport2DVisual3D
[ContentPropertyAttribute("Visual")]
public sealed class Viewport2DVisual3D : Visual3D
[ContentPropertyAttribute(L"Visual")]
public ref class Viewport2DVisual3D sealed : public Visual3D
/** @attribute ContentPropertyAttribute("Visual") */
public final class Viewport2DVisual3D extends Visual3D
public final class Viewport2DVisual3D extends Visual3D
<Viewport2DVisual3D>
Visual
</Viewport2DVisual3D>
使用 Viewport2DVisual3D 可以在三维对象上放置交互式二维内容。与它非常类似的是 Viewport3DVisual 类,这是一个带有三维子对象的二维可视化类。
Viewport2DVisual3D 是在 .NET Framework 3.5 版中引入的。有关更多信息,请参见 .NET Framework 3.5 体系结构。
下面的示例演示如何在三维对象上放置二维的按钮对象。请注意,必须在要放置二维可视化对象的材料上设置 IsVisualHostMaterial 附加属性。
<Viewport3D>
<Viewport3D.Camera>
<PerspectiveCamera Position="0, 0, 4"/>
</Viewport3D.Camera>
<!-- Button on 3D -->
<Viewport2DVisual3D>
<!-- Give the plane a slight rotation -->
<Viewport2DVisual3D.Transform>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Angle="40" Axis="0, 1, 0" />
</RotateTransform3D.Rotation>
</RotateTransform3D>
</Viewport2DVisual3D.Transform>
<!-- The Geometry, Material, and Visual for the Viewport2DVisual3D -->
<Viewport2DVisual3D.Geometry>
<MeshGeometry3D Positions="-1,1,0 -1,-1,0 1,-1,0 1,1,0"
TextureCoordinates="0,0 0,1 1,1 1,0" TriangleIndices="0 1 2 0 2 3"/>
</Viewport2DVisual3D.Geometry>
<Viewport2DVisual3D.Material>
<DiffuseMaterial Viewport2DVisual3D.IsVisualHostMaterial="True" Brush="White"/>
</Viewport2DVisual3D.Material>
<Button>Hello, 3D</Button>
</Viewport2DVisual3D>
<!-- Lights -->
<ModelVisual3D>
<ModelVisual3D.Content>
<DirectionalLight Color="#FFFFFFFF" Direction="0,0,-1"/>
</ModelVisual3D.Content>
</ModelVisual3D>
</Viewport3D>
有关完整示例,请参见三维中的交互式二维示例。
System..::.Object
System.Windows.Threading..::.DispatcherObject
System.Windows..::.DependencyObject
System.Windows.Media.Media3D..::.Visual3D
System.Windows.Media.Media3D..::.Viewport2DVisual3D
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。
.NET Framework
受以下版本支持:3.5 SP1、3.0 SP1
参考
其他资源