3

我有一个简单的应用程序,它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 没有完成重绘本身的任何想法?

抱歉,如果这太模糊而无法解决问题,我无法分享更多源代码。

4

0 回答 0