【问题标题】:Viewport3D ModelVisuals3D not visible when inside CanvasViewport3D ModelVisuals3D 在 Canvas 内不可见
【发布时间】:2011-05-05 02:08:11
【问题描述】:

如果我将 viewport3D 放在 Canvas 中,我的 viewport3D 将不再可见。如果我删除 Canvas,那么 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>

【问题讨论】:

    标签: wpf canvas viewport3d


    【解决方案1】:

    我认为 ViewPort3D 最终会出现在 Canvas 的左上角,宽度和高度均为 0,因为 Canvas 从不拉伸其子级。尝试在您选择的位置添加 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-26
      • 2012-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多