Viewport3D ModelVisuals3D non visibile quando all'interno Tela
-
28-09-2019 - |
Domanda
Se metto Viewport3D all'interno della tela la mia Viewport3D non è più visibile. Se rimuovo Canvas poi Viewport3D è di nuovo visibile. Quello che sto facendo male?
<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>
Soluzione
Penso che il Viewport3D finirà in alto a sinistra della tela con una larghezza e un'altezza di 0 dal Canvas mai allunga i suoi figli. Provare ad aggiungere Canvas.Left e Canvas.Top al posizionamento della vostra scelta e quindi aggiungere larghezza e l'altezza per il vostro Viewport3D. Se volete che il vostro Viewport3D per riempire sempre lo spazio a disposizione, allora Canvas è il modo sbagliato di procedere.
<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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow