2014-10-30 48 views
4

我正在WPF中構建一個應該是三維桁架的圖形模型。我正在將一個對象構建爲Model3DGroup。然後,我將Model3DGroup添加到ModelVisual3D。將Model3DGroup的多個實例添加到ModelVisual3D

目前,我在我的* .xaml.cs文件private ModelVisual3D mGeometry;頂部聲明。然後,創建一個新的Model3DGroup,其中添加了幾個點的三角形模型。然後,下面的代碼被用於它添加到ModelVisual3D:

mGeometry.Content = prism; // where prism is the Model3D Group with added triangle points 
mGeometry.Transform = new Transform3DGroup(); 
this.viewport.Children.Add(mGeometry); 

我的問題是:如何添加Model3DGroup的多個不同實例一ModelVisual3D?我最終想要構建一個由多個不同Model3DGroup組成的桁架並將其顯示在屏幕上。

我不反對改變我如何做到這一點,因爲我不知道最好的方法。目前,我只能顯示一個對象。

回答

2

每個ModelVisual3D可以包含只有1 Model3D,但也可以包含其他Visual3D s。在這種情況下,你可以添加更多的ModelVisual3D s到您的ModelVisual3DChildren屬性:

mGeometry.Content = prism; 
var moreModelVisual3D = new ModelVisual3D(); 
moreModelVisual3D.Content = prism2; //your other Model3DGroup 
mGeometry.Children.Add(moreModelVisual3D); 
//create more if you want ... 

還要注意,每個Model3DGroup可以包含其他Model3DGroup秒。如果您認爲可以應用於您的案例,請考慮它。