MediaElement:影片播放元素
- 可置於 UI 樹任意位置,像一般控制項一樣配置大小位置。
Source 屬性指定影片串流路徑(本機檔案、HTTP URL)。
Stretch 控制填滿模式。
<MediaElement Source="C:\WINDOWS\system32\oobe\images\intro.wmv" Stretch="Fill" />
Viewport3D:3D 場景視口
- 繼承自 Control,可像一般控制項一樣定位、縮放。
- 提供
Camera(透視/正交)、Models(幾何體、材質、光源)屬性定義 3D 場景。
- 充當「3D 螢幕視窗」,將 3D 渲染結果合成到 2D UI 樹中。
完整 3D 範例:單一錐狀體
<Viewport3D ClipToBounds="true">
<Viewport3D.Camera>
<PerspectiveCamera NearPlaneDistance="1" FarPlaneDistance="100"
LookAtPoint="0,0,0" Position="30,-2,20" Up="0,0,1" FieldOfView="45" />
</Viewport3D.Camera>
<Viewport3D.Models>
<Model3DGroup>
<DirectionalLight Color="#FFFFFFFF" Direction="10,25,-1" />
<AmbientLight Color="#66666666" />
<GeometryModel3D>
<GeometryModel3D.Geometry>
<MeshGeometry3D
TriangleIndices="0 1 2 1 2 3 2 3 0 0 1 3"
Normals="-1,-1,0 1,-1,0 1,0,0 0,0,1"
Positions="-2,-2,-2 2,-2,-2 0,2,-2 0,0,1" />
</GeometryModel3D.Geometry>
<GeometryModel3D.Material>
<MaterialGroup>
<DiffuseMaterial Brush="LightGreen" />
<SpecularMaterial Brush="White" />
</MaterialGroup>
</GeometryModel3D.Material>
</GeometryModel3D>
</Model3DGroup>
</Viewport3D.Models>
</Viewport3D>

實務建議
- 3D 模型通常由專業工具(Blender、Maya、3ds Max)建模匯出,不手寫 XAML。
Viewport3D 提供便利整合點,將匯入模型合成到 WPF 視覺樹。
- 可搭配動畫、轉換、觸控互動,構建豐富 3D 體驗。