我使用DevExpress控件库在WPF中开发了丰富的客户端应用程序。
在其中一个面板中,我使用OpenTK(OpenGL的.net包装库)渲染一些视觉元素。
问题是,OpenGL渲染表面似乎是应用程序中的最顶层。因此,如果我将一个面板移动到另一个面板,OpenGL的控件将覆盖WPF元素:
我不确定它是WPF的常见问题,还是DevExpress或OpenTK的问题。
我想知道,有什么办法可以解决这个问题吗?
编辑:我使用WindowsFormsHost控件将OpenTK的GLControl放入WPF UserControl。我正在使用.Net 4.5。
答案 0 :(得分:1)
使用WindowsFormsHost时,DockLayoutManager有known limitations。这些限制通常适用于WPF平台,它们由HwndHost的当前实现提供支持(有关详细信息,请参阅WPF and Win32 Interoperation MSDN文章)。
您可以尝试通过将DockLayoutManager.EnableWin32Compatibility property设置为true
并将DockLayoutManager.FloatingMode属性设置为FloatingMode.Desktop
来解决与OpenGL(WinForms)控件重叠的停靠面板可能出现的问题