1、示例代码
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="250"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Row="0" Grid.Column="1">
<TextBlock Text="调节相机焦距"/>
<Slider x:Name="viewAngle" Width=" 200" Value="60" Minimum="10" Maximum="150" HorizontalAlignment="Left" />
<TextBox Text="{Binding ElementName=viewAngle,Path=Value,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"
Margin="0 5" Width="80" HorizontalAlignment="Left"/>
<TextBlock Text="X轴旋转"/>
<Slider x:Name="rotateX" Width="200" Value="0" Minimum=" 0" Maximum="360" HorizontalAlignment="Left" />
<TextBlock Text="Y轴旋转"/>
<Slider x:Name="rotateY" Width="200" Value="0" Minimum=" 0" Maximum="360" HorizontalAlignment="Left" />
<TextBlock Text="Z轴旋转"/>
<Slider x:Name="rotateZ" Width="200" Value="0" Minimum=" 0" Maximum="360" HorizontalAlignment="Left" />
</StackPanel>
<Viewport3D Grid.Row="0" Grid.Column="0">
<Viewport3D.Camera>
<PerspectiveCamera Position="0,0,50" LookDirection="0,0,-1" FieldOfView="{Binding Value,ElementName=viewAngle}" UpDirection="0,1,0"/>
</Viewport3D.Camera>
<ModelVisual3D>
<ModelVisual3D.Content>
<Model3DGroup>
<AmbientLight Color="Gray"/>
<DirectionalLight Color="Gray" Direction="-1,-1,-1"/>
<!--与XOY面平行-->
<GeometryModel3D>
<GeometryModel3D.Geometry>
<MeshGeometry3D
Positions="0,0,0 10,0,0 10,10,0 0,10,0"
TriangleIndices="0,2,1 0,3 2"/>
</GeometryModel3D.Geometry>
<GeometryModel3D.Material>
<DiffuseMaterial Brush="Blue"/>
</GeometryModel3D.Material>
</GeometryModel3D>
<GeometryModel3D>
<GeometryModel3D.Geometry>
<MeshGeometry3D
Positions="0,0,10 10,0,10 10,10,10 0,10,10"
TriangleIndices="0,1,2 2,3 0"/>
</GeometryModel3D.Geometry>
<GeometryModel3D.Material>
<DiffuseMaterial Brush="BlueViolet"/>
</GeometryModel3D.Material>
</GeometryModel3D>
<!--与YOZ面平行-->
<GeometryModel3D>
<GeometryModel3D.Geometry>
<MeshGeometry3D
Positions="0,0,0 0,10,0 0,10,10 0,0,10"
TriangleIndices="2,1,0 0,3 2"/>
</GeometryModel3D.Geometry>
<GeometryModel3D.Material>
<DiffuseMaterial Brush="Red"/>
</GeometryModel3D.Material>
</GeometryModel3D>
<GeometryModel3D>
<GeometryModel3D.Geometry>
<MeshGeometry3D
Positions="10,0,0 10,10,0 10,10,10 10,0,10"
TriangleIndices="0,1,2 2,3 0"/>
</GeometryModel3D.Geometry>
<GeometryModel3D.Material>
<DiffuseMaterial Brush="PaleVioletRed"/>
</GeometryModel3D.Material>
</GeometryModel3D>
<!--与ZOX面平行-->
<GeometryModel3D>
<GeometryModel3D.Geometry>
<MeshGeometry3D
Positions="0,0,0 0,0,10 10,0,10 10,0,0"
TriangleIndices="2,1,0 0,3 2"/>
</GeometryModel3D.Geometry>
<GeometryModel3D.Material>
<DiffuseMaterial Brush="Green"/>
</GeometryModel3D.Material>
</GeometryModel3D>
<GeometryModel3D>
<GeometryModel3D.Geometry>
<MeshGeometry3D
Positions="0,10,0 0,10,10 10,10,10 10,10,0"
TriangleIndices="0,1,2 2,3 0"/>
</GeometryModel3D.Geometry>
<GeometryModel3D.Material>
<DiffuseMaterial Brush="LawnGreen"/>
</GeometryModel3D.Material>
</GeometryModel3D>
</Model3DGroup>
</ModelVisual3D.Content>
<ModelVisual3D.Transform>
<Transform3DGroup>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Axis="1,0,0" Angle="{Binding ElementName=rotateX,Path=Value}"/>
</RotateTransform3D.Rotation>
</RotateTransform3D>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Axis="0,1,0" Angle="{Binding ElementName=rotateY,Path=Value}"/>
</RotateTransform3D.Rotation>
</RotateTransform3D>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Axis="0,0,1" Angle="{Binding ElementName=rotateZ,Path=Value}"/>
</RotateTransform3D.Rotation>
</RotateTransform3D>
</Transform3DGroup>
</ModelVisual3D.Transform>
</ModelVisual3D>
</Viewport3D>
</Grid>
2、实现效果