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

时间:2014-08-05 06:28:49

标签: c# wpf

我有一个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;
        }
    }

有没有这样做?或者还有其他方法吗?

1 个答案:

答案 0 :(得分:2)

StateChanged

Window事件添加事件处理程序

例如

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

并检查如下

if (this.WindowState == WindowState.Minimized)

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

假设这是窗口的实例,并且此代码是用构造函数编写的。