首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在按下的按钮上刷新HelixToolkit ModelVisual3D内容?

如何在按下的按钮上刷新HelixToolkit ModelVisual3D内容?
EN

Stack Overflow用户
提问于 2015-07-30 22:55:41
回答 1查看 1.8K关注 0票数 0

从一个基本的HelixToolkit示例开始,我能够渲染网格。在.xaml文件中:

代码语言:javascript
复制
 <HelixToolkit:HelixViewport3D Name ="viewPort" ZoomExtentsWhenLoaded="True">        
 <HelixToolkit:SunLight/>
 <!--The content of this visual is defined in MainViewModel.cs--> 
 <ModelVisual3D Content="{Binding Model}"/> 

在我的.cs文件中:

代码语言:javascript
复制
Model3DGroup modelGroup = new Model3DGroup();            
// [... add stuff to modelGroup  as children ]
this.Model = modelGroup;

现在,我尝试在单击按钮时修改渲染对象。我试图通过更新模型的回调函数来实现它。

代码语言:javascript
复制
public void testUpdate(){
       Model3DGroup newModelGroup = new Model3DGroup();            
       // [... add stuff to newModelGroup  as children ]
       this.Model = newModelGroup;
    }

这不起作用:显示的对象不是那些添加到newModelGroup中的对象。我该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2015-07-31 19:16:35

我最终设法使用PropertyChangedEventHandler解决了这个问题

代码语言:javascript
复制
public event PropertyChangedEventHandler PropertyChanged;

private void OnPropertyChanged(string propertyName) {
   if (PropertyChanged != null)
        PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
   }
}

每次修改模型时,都会调用OnPropertyChangedMethod,以便正确地呈现新的修改。

代码语言:javascript
复制
this.Model = myNewModelGroup;
OnPropertyChanged("Model");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31727197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档