viewport3d modelvisuals3d内部のキャンバスの場合は表示されません
-
28-09-2019 - |
質問
Canvas内に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>
解決
Canvasが子供を伸ばすことは決してないので、Viewport3Dはキャンバスの幅と高さが0のキャンバスの左上隅に終わると思います。 Choiseの位置にCanvas.LeftとCanvas.Topを追加してから、ViewPort3Dに幅と高さを追加してください。 Viewport3Dに常に利用可能なスペースを埋めるようにしたい場合は、キャンバスが間違った方法です。
<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>
所属していません StackOverflow