将Model3DGroup的多个实例添加到ModelVisual3D

时间:2014-10-30 13:15:01

标签: c# wpf wpf-4.0

我正在努力在WPF中构建一个最终应该是三维桁架的图形模型。我正在构建一个单个对象作为Model3DGroup。然后我将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组成的桁架并将其显示在屏幕上。

我不反对改变我的做法,因为我不确定最好的方法。目前,我只能显示一个对象。

1 个答案:

答案 0 :(得分:2)

每个ModelVisual3D只能包含1个Model3D,但也可以包含其他Visual3D个。在这种情况下,您只需向ModelVisual3D的{​​{1}}媒体资源添加更多Children

ModelVisual3D

另请注意,每个mGeometry.Content = prism; var moreModelVisual3D = new ModelVisual3D(); moreModelVisual3D.Content = prism2; //your other Model3DGroup mGeometry.Children.Add(moreModelVisual3D); //create more if you want ... 都可以包含其他Model3DGroup个。如果您认为可以在您的情况下应用,请改为考虑它。