NoResize没有在任务栏中显示的WIndowStyle WPF窗口在最小化时创建一个重影窗口

时间:2013-01-10 02:25:37

标签: wpf window

<Window WindowStyle="None" WindowState="Minimized" ResizeMode="NoResize" 
        ShowInTaskbar="False">

当我使用WindowStyle,WindowState的这些设置最小化WPF窗口时, ResizeMode和ShowInTaskbar适用于这样的鬼窗口:

Ghost Window

出现在桌面上......

当我将ShowInTaskbar属性更改为“True”时,不显示ghost窗口,但我不希望窗口显示在任务栏中,因此这不是解决方案......

有没有人碰到这个并且有解决方案吗?

1 个答案:

答案 0 :(得分:1)

如果您想最小化到托盘,请尝试此

    public MainWindow()
    {
        InitializeComponent();
        System.Windows.Forms.NotifyIcon trayIcon = new System.Windows.Forms.NotifyIcon();
        trayIcon.Icon = new System.Drawing.Icon("myIcon.ico");
        trayIcon.Visible = true;
        trayIcon.Click += (s, e) =>
        {
            Show();
            WindowState = WindowState.Normal;
        };
    }

    protected override void OnStateChanged(EventArgs e)
    {
        if (WindowState == WindowState.Minimized)
        {
            Hide();
        }
        base.OnStateChanged(e);
    }