WPF - 如何删除“this.close()”效果?

时间:2010-12-07 17:17:59

标签: .net wpf

当我调用“this.close()”传递给另一个页面时。关闭的效果,以及一秒钟没有显示的页面。我该如何解决这个问题?

例如:


Game game = new Game();
game.show();
this.close();

当我调用this.close()时,会有一秒没有显示页面的效果。我想和影响类似的浏览器。

1 个答案:

答案 0 :(得分:1)

在Windows 7中,Aero效果会导致窗口在显示和关闭时淡入淡出。对于我继承了开发的应用程序之一,这是一个问题,我通过摆脱在屏幕上简单地互相替换的单独表单来解决我的问题。我的WPF经验有限,因此您可能必须解释我的解决方案:

我将程序中的所有表单对象转换为单独的UserControls。 我的基本表单有一个看起来像这样的ActiveScreen属性:

// Code is untested
public Control ActiveScreen
{
    get { return _screen; }
    private set
    {
        this.Controls.Remove(_screen);
        _screen = value;
        _screen.Dock = DockStyle.Fill;
        _screen.Size = this.ClientRectangle.Size; // So that control draws correctly the first time.
        this.Controls.Add(_screen);
    }
}

在快速搜索之后,肯定有其他方法可以绕过Aero效果: Disable aero fade-in effect on dialog