wpf - 如何避免/阻止系统绘制/重绘/刷新/绘制 WPF 窗口

标签 wpf window system draw

我有一个带有 Visual C# 的应用程序 WPF(使用 Visual Studio 2010),我想在 WPF 窗口本身上绘制 OpenGL 场景。至于 OpenGL drawinf 本身,我可以在没有问题的情况下绘制它,这意味着我可以从 WPF 主窗口本身创建 GL 渲染上下文(没有额外的 OpenGL 控件,WPF 窗口内没有 win32 窗口),使用 GL 命令并使用交换缓冲区(所有这些都是在 dll 中完成的 - 使用 C - 我自己创建的)。但是,例如,当我调整窗口大小时,我会出现烦人的闪烁。我覆盖了 OnRender 方法以使用 opengl 重新绘制,但是在此之后,窗口将使用背景颜色重新绘制。系统很可能会自动重绘它。使用 WindowForms,我可以防止系统自动重绘(将一些 ControlStyles 定义为 true 或 false,例如 UserPaint = true、AllPaintingInWmPaint = true、Opaque = true、ResizeRedraw = true、DoubleBuffer = false),但是,除了将 Opacity 设置为1,我不知道如何用 WPF 做到这一切。我希望在内部没有操作的情况下覆盖 OnRender 可以避免重绘,但不知何故系统仍然绘制背景。

有谁知道如何防止系统重绘窗口?

谢谢你的时间

最佳答案

尝试将窗口的背景设置为空:

this.Background=null;

你也可以试试this .

关于wpf - 如何避免/阻止系统绘制/重绘/刷新/绘制 WPF 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6536728/

相关文章:

javascript - chrome 扩展打开 javascript 弹出窗口,然后该窗口中的警报失败

android - 如何从另一个应用程序启动应用程序?

Java - 启动时读出系统环境

c# - 我如何检查用户是否想要动画(通过系统设置)?

c# - 如何将第一项设置为选中

c# - 从 WPF/MVVM 中的 ViewModel 开始动画

android - 如何查看安卓系统版本?

c# - 对于带有列表框的用户控件,如何将所选项目公开到父页面?

python - 检查点击是否在图形形状(圆形)内

python - 我可以在屏幕上移动pygame游戏窗口吗(pygame)