WPF最小化和最大化

时间:2013-11-05 12:37:47

标签: c# wpf fullscreen

我想在我的应用程序中有两个启动选项,启动它最大化,并最小化启动它。这里没问题,但我也希望他们都检查,在这种情况下我希望它开始最小化,但如果用户点击应用程序来显示它,那么它应该最大化(覆盖整个屏幕)。我认为,如果我第一次最大化它最小化它应该保持这种方式,但事实并非如此,这里只是它被最小化,然后当它打开时它处于“正常”状态。

if (ConfigHandler.Instance.Fullscreen)
    this.WindowState = WindowState.Maximized;
if (ConfigHandler.Instance.Minimized)
    this.WindowState = WindowState.Minimized;

1 个答案:

答案 0 :(得分:1)

这是你正在寻找的StateChanged事件。

    public MainWindow()
    {
        InitializeComponent();
        if (ConfigHandler.Instance.Minimized)
            WindowState = System.Windows.WindowState.Minimized;
        this.StateChanged += MainWindow_StateChanged;
    }
    void MainWindow_StateChanged(object sender, EventArgs e)
    {
        if (ConfigHandler.Instance.Fullscreen)
            WindowState = System.Windows.WindowState.Maximized;
        this.StateChanged -= MainWindow_StateChanged;//to prevent further effect
    }