2009-12-03 6 views
1

Pouvez-vous s'il vous plaît montrer comment régler et enregistrer la couleur d'arrière-plan du viewport3D. A chaque fois que je sauvegarde, aucun arrière-plan n'est visible uniquement sur le modèle, j'ai essayé la grille mais cela fait tout dans la grille? Toute aide fera-t-elle? Viewport3D n'a pas de propriété d'arrière-plan, vous avez donc besoin de quelque chose derrière lui.Viewport 3D WPF C#

Répondre

2

votre approche en utilisant une grille est correcte, vous pouvez utiliser une bordure pour appliquer l'utilisation d'un seul enfant.

<Border Background="Green"> 
    <Viewport3D Width="640.0" Height="480.0" > 
    <ModelVisual3D/> 
    </Viewport3D> 
</Border> 

Je suppose que vous utilisez XamlWriter, XamlReader. Sauvegardez simplement la bordure à la place de Viewport3D et tout ce qui se trouve à l'intérieur de la bordure sera également sauvegardé.

0

J'ai fourni un code pour cela, veuillez le vérifier.

<Viewport3D> 
      <Viewport3D.Camera> 
       <PerspectiveCamera Position="2,0,10" LookDirection="0.2,0.4,-1" FieldOfView="65" UpDirection="0,1,0"> 
       </PerspectiveCamera> 
      </Viewport3D.Camera> 
      <ModelVisual3D> 
       <ModelVisual3D.Content> 
        <Model3DGroup> 
         <AmbientLight Color="#fff"/> 
         <GeometryModel3D> 
          <GeometryModel3D.Geometry> 
           <MeshGeometry3D Positions="0,0,0 0,10,0 10,0,0 10,10,0" 
               Normals="0,0,1 0,0,1 0,0,1 0,0,1" 
               TriangleIndices="0,2,1,1,2,3"/> 
          </GeometryModel3D.Geometry> 
          <GeometryModel3D.Material> 
           <DiffuseMaterial Brush="Red"/> 
          </GeometryModel3D.Material> 
         </GeometryModel3D> 
        </Model3DGroup> 
       </ModelVisual3D.Content> 
      </ModelVisual3D> 
     </Viewport3D>