是否可以更改WPF窗口的最小化按钮事件?

本文关键字:最小化 按钮 事件 窗口 WPF 是否 | 更新日期: 2023-09-27 18:16:29

我有一个WPF窗口。它启用了最小化按钮。但要求是,在点击最小化按钮时,窗口应该进入系统托盘。下面的代码将把窗口隐藏在系统托盘中。我想在最小化按钮的单击事件上执行此代码?

CurrentWindowState = WindowState.Minimized;
            OnStartClick();
            Window_StateChanged();

    private void Window_StateChanged()
    {
        if (CurrentWindowState == WindowState.Minimized)
        {
            ShowInTaskBar = false;
            _notifyIcon.BalloonTipTitle = "Minimize Sucessful";
            _notifyIcon.BalloonTipText = "Minimized the app ";
            _notifyIcon.ShowBalloonTip(400);
            _notifyIcon.Visible = true;
        }
        else if (CurrentWindowState == WindowState.Normal)
        {
            _notifyIcon.Visible = false;
            ShowInTaskBar = true;
        }
    }

有办法吗?或者还有其他方法吗?

是否可以更改WPF窗口的最小化按钮事件?

WindowStateChanged事件添加事件处理程序

this.StateChanged += (s,e) => Window_StateChanged();

,检查如下

if (this.WindowState == WindowState.Minimized)

else if (this.WindowState == WindowState.Normal)

假设这是window的实例,并且该代码是在构造函数中编写的。