ModelVisual3D 类

定义

提供一个呈现 Visual3D 对象的 Model3D

public ref class ModelVisual3D : System::Windows::Media::Media3D::Visual3D, System::Windows::Markup::IAddChild
[System.Windows.Markup.ContentProperty("Children")]
public class ModelVisual3D : System.Windows.Media.Media3D.Visual3D, System.Windows.Markup.IAddChild
[<System.Windows.Markup.ContentProperty("Children")>]
type ModelVisual3D = class
    inherit Visual3D
    interface IAddChild
Public Class ModelVisual3D
Inherits Visual3D
Implements IAddChild
继承
属性
实现

示例

以下示例演示标记中的 ModelVisual3D 实例。 myTeapot 引用 MeshGeometry3D 外部定义的 。 可以替换自己的任何几何图形。

<DockPanel>
  <Viewport3D Name="myViewport">

    <Viewport3D.Camera>
      <PerspectiveCamera FarPlaneDistance="20" LookDirection="5,-2,-3" UpDirection="0,1,0" NearPlaneDistance="0" Position="-5,2,3" FieldOfView="45" />
    </Viewport3D.Camera>

    <ModelVisual3D x:Name="topModelVisual3D">
      <ModelVisual3D.Children>
        <ModelVisual3D>
          <ModelVisual3D.Content>
            <DirectionalLight Color="#FFFFFFFF" Direction="-3,-4,-5" />
          </ModelVisual3D.Content>
        </ModelVisual3D>

        <ModelVisual3D>
          <ModelVisual3D.Content>
            <GeometryModel3D Geometry="{StaticResource myTeapot}">
              <GeometryModel3D.Material>
                <DiffuseMaterial>
                  <DiffuseMaterial.Brush>
                    <SolidColorBrush Color="Blue" Opacity="1.0" />
                  </DiffuseMaterial.Brush>
                </DiffuseMaterial>
              </GeometryModel3D.Material>
              <GeometryModel3D.Transform>
                <RotateTransform3D>
                  <RotateTransform3D.Rotation>
                    <AxisAngleRotation3D x:Name="myAngleRotation" Axis="0,3,0" Angle="1" />
                  </RotateTransform3D.Rotation>
                </RotateTransform3D>
              </GeometryModel3D.Transform>
            </GeometryModel3D>
          </ModelVisual3D.Content>
        </ModelVisual3D>


      </ModelVisual3D.Children>
    </ModelVisual3D>


    <Viewport3D.Triggers>

      <EventTrigger RoutedEvent="Viewport3D.Loaded">
        <BeginStoryboard>
          <Storyboard>
            <DoubleAnimation 
              Storyboard.TargetName="myAngleRotation"
              Storyboard.TargetProperty="Angle"
              From="0" To="360" Duration="0:0:10"
              RepeatBehavior="Forever" />
          </Storyboard>
        </BeginStoryboard>
      </EventTrigger>
    </Viewport3D.Triggers>


  </Viewport3D>
</DockPanel>

注解

提供所有视觉对象通用的服务和属性,包括命中测试、坐标转换和边界框计算。

ModelVisual3D 具有 属性 Children ,可用于生成 对象的树结构 ModelVisual3D

ModelVisual3D 对象优化为场景节点。 例如,它们缓存边界。 只要可以,将 ModelVisual3D 对象用于场景中对象的唯一实例。 此用法与 Model3D 对象的用法形成鲜明对比,对象是优化为共享和重复使用的轻量级对象。 例如,使用 对象 Model3D 生成汽车模型;使用 10 ModelVisual3D 个对象将 10 辆汽车放置在场景中。

构造函数

ModelVisual3D()

初始化 ModelVisual3D 类的新实例。

字段

ContentProperty

标识 Content 依赖项属性。

TransformProperty

标识 Transform 依赖项属性。

属性

Children

获取子 Visual3D 对象的集合。

Content

获取或设置包含 ModelVisual3D 内容的模型。

DependencyObjectType

获取 DependencyObjectType 包装此实例的 CLR 类型的 。

(继承自 DependencyObject)
Dispatcher

获取与此 Dispatcher 关联的 DispatcherObject

(继承自 DispatcherObject)
HasAnimatedProperties

获取一个值,该值指示此 Visual3D 是否具有任何进行动画处理的属性。

(继承自 Visual3D)
IsSealed

获取一个值,该值指示此实例当前是否为密封的(只读)。

(继承自 DependencyObject)
Transform

获取或设置在 ModelVisual3D 上设置的转换。

Visual3DChildrenCount

返回子对象的数目。

Visual3DModel

获取或设置要呈现的 Model3D 对象。

(继承自 Visual3D)

方法

AddVisual3DChild(Visual3D)

定义两个三维可视对象之间的父子关系。

(继承自 Visual3D)
ApplyAnimationClock(DependencyProperty, AnimationClock)

将给定 AnimationClock 的效果应用于给定的依赖属性。

(继承自 Visual3D)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

将给定 AnimationClock 的效果应用于给定的依赖属性。 新 AnimationClock 对任何当前的动画所产生的效果均由 handoffBehavior 参数值确定。

(继承自 Visual3D)
BeginAnimation(DependencyProperty, AnimationTimeline)

基于指定的 AnimationTimelineDependencyProperty 对象初始化动画序列。

(继承自 Visual3D)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

根据指定的 DependencyPropertyAnimationTimeline 启动 HandoffBehavior 对象的动画序列。

(继承自 Visual3D)
CheckAccess()

确定调用线程是否可以访问此 DispatcherObject

(继承自 DispatcherObject)
ClearValue(DependencyProperty)

清除属性的本地值。 要清除的属性由 DependencyProperty 标识符指定。

(继承自 DependencyObject)
ClearValue(DependencyPropertyKey)

清除只读属性的本地值。 要清除的属性由 DependencyPropertyKey 指定。

(继承自 DependencyObject)
CoerceValue(DependencyProperty)

对指定依赖属性的值进行强制。 通过对调用方 DependencyObject 上存在的依赖属性的属性元数据中所指定的任何 CoerceValueCallback 函数进行调用来完成此操作。

(继承自 DependencyObject)
Equals(Object)

确定提供的 DependencyObject 是否等效于当前 DependencyObject

(继承自 DependencyObject)
FindCommonVisualAncestor(DependencyObject)

返回可视对象和其他指定可视对象的公共上级。

(继承自 Visual3D)
GetAnimationBaseValue(DependencyProperty)

检索指定 DependencyProperty 对象的基值。

(继承自 Visual3D)
GetHashCode()

获取此 DependencyObject 的哈希代码。

(继承自 DependencyObject)
GetLocalValueEnumerator()

创建一个专用的枚举数,用于确定哪些依赖项属性在此 DependencyObject 上具有以本地方式设置的值。

(继承自 DependencyObject)
GetType()

获取当前实例的 Type

(继承自 Object)
GetValue(DependencyProperty)

DependencyObject 的此实例返回依赖属性的当前有效值。

(继承自 DependencyObject)
GetVisual3DChild(Int32)

返回父集合中的指定 Visual3D

InvalidateProperty(DependencyProperty)

重新评估指定依赖属性的有效值。

(继承自 DependencyObject)
IsAncestorOf(DependencyObject)

确定可视对象是否为后代可视对象的上级。

(继承自 Visual3D)
IsDescendantOf(DependencyObject)

确定可视对象是否为上级可视对象的后代。

(继承自 Visual3D)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

每当更新此 DependencyObject 的任何依赖属性的有效值时调用。 更改的特定依赖属性将在事件数据中报告。

(继承自 DependencyObject)
OnVisualChildrenChanged(DependencyObject, DependencyObject)

修改可视对象的 Visual3DCollection 时调用。

(继承自 Visual3D)
OnVisualParentChanged(DependencyObject)

在三维可视对象的父级更改时调用。

(继承自 Visual3D)
ReadLocalValue(DependencyProperty)

如果存在,则返回依赖属性的本地值。

(继承自 DependencyObject)
RemoveVisual3DChild(Visual3D)

移除两个三维可视对象之间的父子关系。

(继承自 Visual3D)
SetCurrentValue(DependencyProperty, Object)

设置依赖属性的值而不更改其值源。

(继承自 DependencyObject)
SetValue(DependencyProperty, Object)

设置依赖属性的本地值,该值由其依赖属性标识符指定。

(继承自 DependencyObject)
SetValue(DependencyPropertyKey, Object)

设置一个只读依赖属性的本地值,该值由依赖属性的 DependencyPropertyKey 标识符指定。

(继承自 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

返回一个值,该值指示序列化进程是否应序列化所提供的依赖属性的值。

(继承自 DependencyObject)
ToString()

返回表示当前对象的字符串。

(继承自 Object)
TransformToAncestor(Visual)

返回一个转换,该转换可用于将此 Visual3D 对象中的坐标转换为该对象的指定 Visual 上级。

(继承自 Visual3D)
TransformToAncestor(Visual3D)

返回一个转换,该转换可用于将此 Visual3D 对象中的坐标转换为该对象的指定 Visual3D 上级。

(继承自 Visual3D)
TransformToDescendant(Visual3D)

返回一个转换,此转换可用于将坐标从此 Visual3D 对象转换为指定的 Visual3D 派生对象。

(继承自 Visual3D)
VerifyAccess()

强制调用线程具有此 DispatcherObject 的访问权限。

(继承自 DispatcherObject)

显式接口实现

IAddChild.AddChild(Object)

添加子对象。

IAddChild.AddText(String)

将节点的文本内容添加到对象。

适用于