0

アプリケーションに、最大化して起動するオプションと最小化して起動するオプションの 2 つの起動オプションを用意したいと考えています。ここでは問題ありませんが、両方にチェックを入れておきたいのですが、その場合は最小化して開始したいのですが、ユーザーがアプリケーションをクリックして表示する場合は、最大化する必要があります (画面全体をカバーします)。最小化する前に最初に最大化した場合はそのままにしておくべきだと思っていましたが、そうではなく、代わりに最小化され、開いたときに「通常の」状態になります。

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

1 に答える 1

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
    }
于 2013-11-05T13:32:01.167 に答える