【发布时间】:2017-07-20 04:00:58
【问题描述】:
我引用了这个Rendering the same model in multiple WPF Viewports
我是 wpf 初学者,并且对该链接有类似的问题。我想展示三个模型,它们会相对移动并使用不同的相机设置显示在不同的视口中。
起初我尝试将 ModelVisual3D 添加到不同的视口,但显然效果不佳。
所以我尝试在下面这样做,这是代码:
Model3DGroup model1 = read(path1);
Model3DGroup model2 = read(path2);
Model3DGroup model3 = read(path3);
modelVisual1.Content = model1 ;
modelVisual2.Content = model2 ;
modelVisual3.Content = model3 ;
mainModelVisual.Children.Add(modelVisual1);
mainModelVisual.Children.Add(modelVisual2);
mainModelVisual.Children.Add(modelVisual3);
Viewport1.Children.Add(mainModelVisual);
我不只使用一个 Model3DGroup 的原因是我分配了不同的
Transform3D,我以后会添加hittest。(这是一个合适的理由吗?)
现在我想像这样将模型添加到不同的视口:
otherMainModelVisual2.Content = mainModelVisual.Content;
otherMainModelVisual3.Content = mainModelVisual.Content;
Viewport2.Children.Add(otherMainModelVisual2);
Viewport3.Children.Add(otherMainModelVisual3);
viewport1会正常显示模型,但其他viewport没有显示任何东西。
问题是为什么我不能像链接一样这样做? 还是我必须复制两个模型并添加到不同的模型视觉对象中,例如 viewport1?
我是初学者,希望有人能用简单的代码告诉我。
【问题讨论】: