Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF和D3DImage视图更新不工作_C#_C++_Wpf_Interop_D3dimage - Fatal编程技术网

C# 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

我有一个WPF应用程序,在这个应用程序中,我在后端有一个本地directx渲染引擎,在前端有一个WPF视图。directx渲染引擎返回一个WPF曲面,我会在每次渲染调用时更新该曲面

我已通过D3DImage将两者链接起来,如下所示,由我的用户控制:

<Grid>
   <Grid.Background>
       <ImageBrush ImageSource="{Binding D3DRenderImage}" />
   </Grid.Background>
</Grid>
在每次渲染调用开始时,我都会收到一个从本机到托管端的回调,在托管端我会锁定图像,在渲染调用结束时的类似回调中,我会收到一个渲染完成回调,在该回调中我会使图像无效并解锁它

在任何视图操纵操作中,我都会通知底层渲染引擎相同的信息,然后它开始渲染序列。所有这些都完美地发生了。问题是我的背景图像不是即时刷新的。如果我将焦点更改为其他应用程序窗口并返回到我的应用程序窗口,它将被刷新

奇怪的是,如果我在我的用户控件中添加一个进度条,视图会完全更新吗?你知道幕后会发生什么吗


另外,我是WPF的新手,因此我可能无法正确地描述问题。很抱歉:-

您是否已尝试在每次需要重新绘制时调用D3DImage.AddDirtyRect?