我有一个简单的应用程序,它Control
使用WindowsFormsHost
. 我已经覆盖了中的绘画方法Control
以防止闪烁:
protected override void OnPaint(PaintEventArgs e)
{
if (this.Visible == true) { base.OnPaint(e); }
}
// Don't paint the background unless the control is not visible
protected override void OnPaintBackground(PaintEventArgs e)
{
if (this.Visible == false) { base.OnPaintBackground(e); }
}
有一个计时器会定期使托管 DirectX 无效,Control
以便重新绘制它。
我的问题是,当我锁定计算机(WIN+L),然后再解锁时,WindowsFormsHost
偶尔出现的 WPF 内容无法完全绘制。在我将窗口完全拖出视图之前,不会绘制它的各个部分。关于为什么 WPF 没有完成重绘本身的任何想法?
抱歉,如果这太模糊而无法解决问题,我无法分享更多源代码。