C# WPF和D3DImage视图更新不工作
我有一个WPF应用程序,在这个应用程序中,我在后端有一个本地directx渲染引擎,在前端有一个WPF视图。directx渲染引擎返回一个WPF曲面,我会在每次渲染调用时更新该曲面 我已通过D3DImage将两者链接起来,如下所示,由我的用户控制:C# WPF和D3DImage视图更新不工作,c#,c++,wpf,interop,d3dimage,C#,C++,Wpf,Interop,D3dimage,我有一个WPF应用程序,在这个应用程序中,我在后端有一个本地directx渲染引擎,在前端有一个WPF视图。directx渲染引擎返回一个WPF曲面,我会在每次渲染调用时更新该曲面 我已通过D3DImage将两者链接起来,如下所示,由我的用户控制: <Grid> <Grid.Background> <ImageBrush ImageSource="{Binding D3DRenderImage}" /> </Grid.Backg
<Grid>
<Grid.Background>
<ImageBrush ImageSource="{Binding D3DRenderImage}" />
</Grid.Background>
</Grid>
在每次渲染调用开始时,我都会收到一个从本机到托管端的回调,在托管端我会锁定图像,在渲染调用结束时的类似回调中,我会收到一个渲染完成回调,在该回调中我会使图像无效并解锁它
在任何视图操纵操作中,我都会通知底层渲染引擎相同的信息,然后它开始渲染序列。所有这些都完美地发生了。问题是我的背景图像不是即时刷新的。如果我将焦点更改为其他应用程序窗口并返回到我的应用程序窗口,它将被刷新
奇怪的是,如果我在我的用户控件中添加一个进度条,视图会完全更新吗?你知道幕后会发生什么吗
另外,我是WPF的新手,因此我可能无法正确地描述问题。很抱歉:-您是否已尝试在每次需要重新绘制时调用D3DImage.AddDirtyRect?