Viewport3D ModelVisuals3D nicht sichtbar, wenn innerhalb Leinwand
-
28-09-2019 - |
Frage
Wenn ich Viewport3D innerhalb Leinwand meines Viewport3D setzen ist nicht mehr sichtbar. Wenn ich entfernen Leinwand dann ist Viewport3D wieder sichtbar. Was ich falsch?
<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>
Lösung
Ich denke, die Viewport3D wird in der oberen linken Ecke der Leinwand mit einer Breite und Höhe von 0 am Ende da Canvas nie seine Kinder erstreckt. Versuchen Sie Canvas.Left und Canvas.Top bei der Positionierung Ihrer Wahl hinzuzufügen und fügen Sie dann die Breite und Höhe für Ihre Viewport3D. Wenn Sie Ihren Viewport3D wollen immer den verfügbaren Raum füllt dann Canvas ist der falsche Weg zu gehen.
<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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow