Viewport3D在执行RenderTargetBitmap后未更新视觉效果

时间:2014-05-08 09:47:44

标签: c# wpf rendertargetbitmap viewport3d

使用RenderTargetBitmap.Render调用渲染Viewport3D似乎会导致Viewport3D不再更新其可视内容。交互式操作仍然有效,例如悬停和点击。

我创建了一个示例,其中我有一个包含按钮的视口。然后我使用RenderTargetBitmap渲染视口。在渲染之后,我尝试切换按钮的可见性,但按钮的视觉效果不再更新,这是意外的。但是,无法像折叠时那样点击按钮。将可见性切换回可见性允许我再次单击该按钮,因此似乎只有视觉效果不再被正确处理。

似乎视口失去了应该使用的正确缓冲区的跟踪,并且无论如何都会继续显示旧版本。我希望视口能够像在渲染调用之前那样不断更新其视觉效果,我在这里想到的是什么想法?

我已经在bitbucket上传了演示器,源文件可以在这里查看: Sourcecode

演示器也可作为VS2010解决方案使用: download solution

如果您需要任何其他信息,请告诉我们,我会尽可能详细地回答您的问题。

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题。在调用RenderTargetBitmap的Render()之后,我注意到,例如,未显示应用于视口内视觉效果的任何颜色更改。正如您所说,点击,旋转,悬停等交互式操作仍然有效。

在我的应用程序中,正在渲染的视口本身就位于网格的内部(即子网)。我发现如果在调用RenderTargetBitmap的Render()方法之后,我从Viewport中删除了Viewport,然后将Viewport读入Grid的'Children'列表,Viewport中的视觉效果会像调用Render之前一样继续更新( )。