正如@HB 提到的,Hardcodet的 NotifyIcon非常适合 WPF 任务栏图标。糟透了,您没有使用 WPF 开箱即用,但您最好使用它并解决您的问题,而不是等待 Microsoft 修复它(他们真的应该将该库添加到标准中)
现在解决您的问题(使用上述解决方案):
- 下载解决方案
- 建立图书馆
Hardcodet.Wpf.TaskbarNotification.dll
如果你有的话,把它添加到你的源代码控制中,并在你的项目中添加对它的引用( )
现在在您的 MainWindow.xaml 中,您可以拥有如下内容:
<Window ...
xmlns:tb="http://www.hardcodet.net/taskbar"
...>
...
<Grid>
<tb:TaskbarIcon>
<tb:TaskbarIcon.ContextMenu>
<ContextMenu>
<MenuItem Click="Exit_Click"
Header="Exit" />
</ContextMenu>
</tb:TaskbarIcon.ContextMenu>
</tb:TaskbarIcon>
...
</Grid>
</Window>
和 MainWindow.xaml.cs 与您需要的点击处理程序:
private void Exit_Click(object sender, RoutedEventArgs e) {
Application.Current.Shutdown();
}
我确实建议花一些时间查看库源代码附带的示例,以熟悉可用的选项。相信我,wpf 在帮助库方面太容易了。尝试一些 qt 助手库,你就会知道开源助手中“埋在某处”的字面意思。