只有托盘图标的WPF应用程序?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (48)

我是一个完全的WPF新手,我知道是否有人能给我一些提示,如何编写一个应用程序开始最小化到托盘。它的想法是,它定期获取一个RSS源,并在有新提要时创建一个Toaster-弹出。

提问于
用户回答回答于

必须使用System.Windows.Forms中的NotifyIcon控件,或者可以使用WindowsAPI提供的NotificationIcon API。WPF没有提供类似的功能,并且在MicrosoftConnect上已经多次请求它。

在GitHub上有代码,使用System.Windows.Forms来自WPF应用程序中的NotifyIcon组件,代码可以在

https://github.com/wilson0x4d/Mubox/blob/master/Mubox.QuickLaunch/AppWindow.xaml.cs

以下是总结部分:

使用ShowInTaskbar=false创建一个WPF窗口,该窗口以不可见状态加载。

private System.Windows.Forms.NotifyIcon notifyIcon = null;

OnInitialization():

notifyIcon = new System.Windows.Forms.NotifyIcon();
notifyIcon.Click += new EventHandler(notifyIcon_Click);
notifyIcon.DoubleClick += new EventHandler(notifyIcon_DoubleClick);
notifyIcon.Icon = IconHandles["QuickLaunch"];
notifyIcon.Visible = true;

对于交互(如通知Icon.Click和DoubleClick以上所示):

void notifyIcon_Click(object sender, EventArgs e)
{
    ShowQuickLaunchMenu();
}

扫码关注云+社区