WPF的ContextMenu托盘图标
本文关键字:托盘图标 ContextMenu WPF | 更新日期: 2023-09-27 18:13:35
我有一个WPF应用程序,我可以最小化托盘。当我正常点击它,窗口再次显示。
现在我想知道如何创建一个简单的ContextMenu
?
ContextMenu
必须填满x选项,其中onclick将运行一个函数。现在我只需要一个'Exit'项目链接到'Exit_Click'方法。
我试过的是:
ContextMenu menu = (ContextMenu)this.FindResource("NotifierContextMenu");
menu.IsOpen = true;
menu
不知道任何IsOpen
的值
其他例子喜欢使用很多不同的东西。其中一个因为某些原因需要我创建一个HostManager。
我只需要一个简单的ContextMenu
。我怎样才能做到这一点呢?
提到Hardcodet的NotifyIcon对于WPF任务栏图标来说非常好。很遗憾,你没有从WPF中得到这个,但你不妨使用它并解决你的问题,而不是等待微软来修复它(他们真的应该把这个库添加到标准中)
现在解决您的问题(使用上述解决方案):
- 下载方案
- 构建库
- 添加到你的源代码控制,如果你有一个,并添加一个引用到它(
Hardcodet.Wpf.TaskbarNotification.dll
)在你的项目
现在进入主窗口。在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 helper库,你就会知道"埋藏在某处"在开源helper中的字面意思。