如果我把viewport3D放到画布里,我的viewport3D就看不见了。如果我移除画布,那么Viewport3D将再次可见。我哪里做错了?
<Canvas Width="900" Height="524">
<Viewport3D Name="mainViewport" ClipToBounds="True" HitTestVisible="False">
<Viewport3D.Camera>
<PerspectiveCamera
FarPlaneDistance="3500"
LookDirection="0,0,1"
UpDirection="0,1,0"
NearPlaneDistance="1"
Position="0,0,0"
FieldOfView="66" />
</Viewport3D.Camera>
<ModelVisual3D>
<ModelVisual3D.Content>
<AmbientLight Color="White" />
</ModelVisual3D.Content>
</ModelVisual3D>
</Viewport3D>
</Canvas>
发布于 2010-11-05 20:52:07
我认为ViewPort3D最终会出现在画布的左上角,宽度和高度都为0,因为画布永远不会拉伸它的子对象。尝试在您选择的位置添加Canvas.Left和Canvas.Top,然后为您的Viewport3D添加宽度和高度。如果你想让你的Viewport3D总是填满可用的空间,那么Canvas是一个错误的选择。
<Canvas Width="900" Height="524">
<Viewport3D Canvas.Left="100"
Canvas.Top="100"
Width="200"
Height="200"
Name="mainViewport"
ClipToBounds="True"
IsHitTestVisible="False">
<Viewport3D.Camera>
<PerspectiveCamera
FarPlaneDistance="3500"
LookDirection="0,0,1"
UpDirection="0,1,0"
NearPlaneDistance="1"
Position="0,0,0"
FieldOfView="66" />
</Viewport3D.Camera>
<ModelVisual3D>
<ModelVisual3D.Content>
<AmbientLight Color="White" />
</ModelVisual3D.Content>
</ModelVisual3D>
</Viewport3D>
</Canvas>
https://stackoverflow.com/questions/4097428
复制相似问题