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 物件來建置汽車的模型;並使用十個物件在您的場景中放置十 ModelVisual3D 個汽車。

建構函式

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)

定義兩個 3D 視覺物件之間的父子關係。

(繼承來源 Visual3D)
ApplyAnimationClock(DependencyProperty, AnimationClock)

套用指定 AnimationClock 的效果至指定相依性屬性。

(繼承來源 Visual3D)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

套用指定 AnimationClock 的效果至指定相依性屬性。 新 AnimationClock 對任何目前動畫的效果,是由 handoffBehavior 參數的值所決定。

(繼承來源 Visual3D)
BeginAnimation(DependencyProperty, AnimationTimeline)

根據指定的 AnimationTimeline,初始化 DependencyProperty 物件的動畫序列。

(繼承來源 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)

在 3D 視覺物件的父代變更時呼叫。

(繼承來源 Visual3D)
ReadLocalValue(DependencyProperty)

傳回相依性屬性的區域值 (如果存在)。

(繼承來源 DependencyObject)
RemoveVisual3DChild(Visual3D)

移除兩個 3D 視覺物件之間的父子關係。

(繼承來源 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)

將節點的文字內容加入物件中。

適用於