gpt4 book ai didi

c# - 有没有办法将 Controls.ContextMenu 转换为 Forms.ContextMenu?

转载 作者:行者123 更新时间:2023-11-30 21:50:17 25 4
gpt4 key购买 nike

我的 WPF XAML 中定义了一个上下文菜单,如下所示:

<Window.Resources>
<ContextMenu x:Key="MyMenu">
<MenuItem Header="{x:Static props:Resources.MenuItem1}"/>
</ContextMenu>
</Window.Resources>

我使用 System.Windows.Forms.NotifyIcon“myIcon”作为我的托盘图标,因为它的设置和使用非常简单,而且似乎没有标准的 MSFT WPF 等效项。不幸的是,我在调用时遇到了转换异常

this.myIcon.ContextMenu = (ContextMenu)this.Resources["MyMenu"];

因为它们显然不是同一个 ContextMenu 类。有没有一种方法可以简单地将 Controls.ContextMenu 转换为 Forms.ContextMenu

我不希望通过手动调出 XAML 中定义的上下文菜单来处理通知图标的鼠标右键单击事件。原因是我怀疑当用户使用键盘上的上下文菜单键时没有发送右键单击鼠标事件。

最佳答案

否 - 控件适用于完全不同的平台(Winforms 与 WPF)。两者之间没有“转换”。

要么使用a different version of NotifyIcon支持 WPF 或编写一个“转换”来转换 WPF 上下文菜单的项目并将它们添加到 Winforms 上下文菜单。

关于c# - 有没有办法将 Controls.ContextMenu 转换为 Forms.ContextMenu?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36462983/

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