Viewport3D ModelVisuals3D pas visible lorsque l'intérieur Toile
-
28-09-2019 - |
Question
Si je mets l'intérieur Viewport3D toile mon Viewport3D n'est plus visible. Si je retire alors toile Viewport3D est visible à nouveau. Ce que je fais mal?
<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>
La solution
Je pense que le Viewport3D finira dans le coin supérieur gauche de la toile avec une largeur et une hauteur de 0 depuis toile étend jamais ses enfants. Essayez d'ajouter Canvas.Left et Canvas.Top au positionnement de votre choix, puis ajouter la largeur et la hauteur de votre Viewport3D. Si vous voulez que votre Viewport3D pour remplir toujours l'espace disponible, Canvas est la bonne façon de faire.
<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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow