【问题标题】:Adding multiple instances of Model3DGroup to ModelVisual3D将 Model3DGroup 的多个实例添加到 ModelVisual3D
【发布时间】:2014-11-02 18:18:40
【问题描述】:

我正在 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 中?我最终想构建一个由多个不同 Model3DGroups 组成的桁架并将其显示在屏幕上。

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

【问题讨论】:

    标签: c# wpf wpf-4.0


    【解决方案1】:

    每个ModelVisual3D 只能包含1 个Model3D,但也可以包含其他Visual3Ds。在这种情况下,您只需将更多ModelVisual3Ds 添加到您的ModelVisual3D 的Children 属性:

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

    另请注意,每个Model3DGroup 可以包含其他Model3DGroups。如果您认为这可以应用于您的情况,请考虑改为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-13
      • 1970-01-01
      • 2013-12-08
      • 2023-03-06
      相关资源
      最近更新 更多