C# 如何在WPF中切换到Viewport3D控件的线框显示模式?

C# 如何在WPF中切换到Viewport3D控件的线框显示模式?,c#,.net,wpf,3d,C#,.net,Wpf,3d,有办法做到这一点吗?我在找这样的东西: viewport3dControl.DisplayMode = DisplayMode.Wireframe; 而不是当前着色的 还是必须为每个要显示为线框的对象设置此选项?如果是,怎么做?这并不像您希望的那么简单,但是可以通过一些库帮助来完成。见: 具体来说,ModelViewer示例有一个“查看->线框”复选框,可以满足您的需要。样本不多,因此您可以看到如何将其应用于您的情况。同样的答案也张贴在此处: 我已经看到很多关于第三方解决方案的回复 对

有办法做到这一点吗?我在找这样的东西:

viewport3dControl.DisplayMode = DisplayMode.Wireframe;
而不是当前着色的


还是必须为每个要显示为线框的对象设置此选项?如果是,怎么做?

这并不像您希望的那么简单,但是可以通过一些库帮助来完成。见:


具体来说,ModelViewer示例有一个“查看->线框”复选框,可以满足您的需要。样本不多,因此您可以看到如何将其应用于您的情况。

同样的答案也张贴在此处:

我已经看到很多关于第三方解决方案的回复

对于纯WPF解决方案,我从现有的Model3D创建了一个新的Model3D,其中每个方面都创建了一个孔。i、 e.分成6个新的面,每个“线”的宽度与原始面大小成比例

这样做的原因是它看起来比固定线宽好,但如果需要,可以使用固定线宽

(可选)将中心孔填充为黑色的新镶嵌面(组中单独的Model3D),即可删除隐藏线

对于镶嵌面的三个点A0、B0和C0,计算AB、AC和BC的中点。新的A1点是沿BC线的1/20。重复以下两点B1和C1

“线”的6个新面由以下组合表示:

A0、B0、B1
A0、B1、A1
A0、C1、C0
A0、A1、C1
B0、C0、C1
B0、C1、B1


将A1、B1和C1添加到另一款车型中,以消除隐藏线。

谢谢,我看到了这一款,但它似乎已经有好几年的历史了,没有更新。我宁愿不包括没有维护的库。我很惊讶这在普通WPF中很难做到。这是一种技术(通过内存):在
OnRender()
中,绘制一个与转换端点对应的二维矩形(一条线)。除了提示之外,您根本不需要使用库。