2017-09-17 3 views
0

Le code suivant:Comment changer la couleur du cube WPF HelixViewport3D et écrire du texte sur ce

<Window x:Class="helixCube.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:h="http://helix-toolkit.org/wpf" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:local="clr-namespace:helixPerfectCube" 
    mc:Ignorable="d" 
    Title="MainWindow" Height="350" Width="525"> 

    <Grid Width="200" Height="200" Background="Red"> 
     <h:HelixViewport3D Title="Titlee" ShowViewCube="False" TextBrush="Black" Opacity="0.9"> 
      <h:SunLight/> 
      <h:BoxVisual3D Width="12" Length="12" Height="12"/> 
     </h:HelixViewport3D> 
    </Grid> 


</Window> 

me donne le cube suivant:

enter image description here

Je voudrais faire ce qui suit 2 changements:

  1. Je veux que la couleur du cube soit noire. Cependant, je ne peux pas trouver un moyen de le faire.

  2. Je veux que le titre soit directement affiché sur (la surface du) cube.

Est-ce que quelqu'un sait comment cela peut-il être fait?

Répondre

0

Dans viewmodel, Créer des matériaux comme suit:

public Model3D Model {get; set;} 
public MainViewModel() 
{ 

    var outsideMaterial = MaterialHelper.CreateMaterial(Colors.LightGray, 0.1); 
    var insideMaterial = MaterialHelper.CreateMaterial(Colors.Gray); 
    var modelGroup = new Model3DGroup(); 

    modelGroup.Children.Add(new GeometryModel3D {Geometry = cubeObj, Material =outsideMaterial, BackMaterial = insideMaterial}); 
    } 

Créer un objet cube.! (CubeObj) Après que
En Ui,

<h:HelixViewport3D Title="Titlee" ShowViewCube="False" TextBrush="Black" Opacity="0.9"> 
     <h:SunLight/> 
     <ModelVisual3D Content = "{Binding Model}"/> 
    </h:HelixViewport3D> 

Helix ViewPort permet une rotation, panoramique et zoom. le texte ne se rend pas proprement dans un tel espace 3D en effectuant des actions ci-dessus. Par conséquent, il n'est pas recommandé de placer du texte sur le cube.

Clause de non-responsabilité: Code non testé.!