从一个基本的HelixToolkit示例开始,我能够渲染网格。在.xaml文件中:
<HelixToolkit:HelixViewport3D Name ="viewPort" ZoomExtentsWhenLoaded="True">
<HelixToolkit:SunLight/>
<!--The content of this visual is defined in MainViewModel.cs-->
<ModelVisual3D Content="{Binding Model}"/> 在我的.cs文件中:
Model3DGroup modelGroup = new Model3DGroup();
// [... add stuff to modelGroup as children ]
this.Model = modelGroup;现在,我尝试在单击按钮时修改渲染对象。我试图通过更新模型的回调函数来实现它。
public void testUpdate(){
Model3DGroup newModelGroup = new Model3DGroup();
// [... add stuff to newModelGroup as children ]
this.Model = newModelGroup;
}这不起作用:显示的对象不是那些添加到newModelGroup中的对象。我该怎么做呢?
发布于 2015-07-31 19:16:35
我最终设法使用PropertyChangedEventHandler解决了这个问题
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName) {
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}每次修改模型时,都会调用OnPropertyChangedMethod,以便正确地呈现新的修改。
this.Model = myNewModelGroup;
OnPropertyChanged("Model");https://stackoverflow.com/questions/31727197
复制相似问题