gpt4 book ai didi

c# - 托盘图标的 WPF 上下文菜单

转载 作者:行者123 更新时间:2023-11-30 14:12:43 25 4
gpt4 key购买 nike

我有一个可以最小化到托盘的 WPF 应用程序。当我正常单击它时,窗口再次显示。

现在我想知道如何创建一个简单的ContextMenu

ContextMenu 必须填充 x 选项,onclick 将运行一个函数。现在我只需要一个链接到“Exit_Click”方法的“Exit”项。

我试过的是:

ContextMenu menu = (ContextMenu)this.FindResource("NotifierContextMenu");
menu.IsOpen = true;

menu 不知道任何 IsOpen 值。

其他例子喜欢使用很多不同的东西。 One of them requires me to create a HostManager for some reason.

我只需要一个简单的ContextMenu。我怎样才能做到这一点?

最佳答案

作为@H.B.提到Hardcodet's NotifyIcon非常适合 WPF 任务栏图标。糟透了,你不能用 WPF 开箱即用,但你也可以使用它来解决你的问题,而不是等待微软修复它(他们真的应该把那个库添加到标准中)

现在解决您的问题(使用上述解决方案):

  • 下载解决方案
  • 建立图书馆
  • 将它添加到您的源代码管理(如果有)并在您的项目中添加对它的引用(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 帮助程序库,您就会知道“埋在某处”在开源帮助程序中的字面意思。

关于c# - 托盘图标的 WPF 上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16546296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com