wpf - 系统托盘中的右键单击上下文菜单

标签 wpf contextmenu

我有一个在系统托盘中运行的 WPF 应用程序。我正在尝试创建一个上下文菜单,当您右键单击托盘中的图标时会弹出该菜单。这是 XAML:

<Window.Resources>
        <ContextMenu x:Key="NotifierContextMenu" Placement="MousePoint">
            <MenuItem Header="Exit" Click="Menu_Exit"/>
        </ContextMenu>
    </Window.Resources>

这是代码隐藏:
void NotifyIcon_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            if (e.Button == System.Windows.Forms.MouseButtons.Right)
            {
                var menu = this.FindResource("NotifierContextMenu") as ContextMenu;
                menu.IsOpen = true;
            }
        }

        protected void Menu_Exit(object sender, RoutedEventArgs e)
        {
            NotifyIcon.Visible = false;
            Application.Current.Shutdown();
        }

我遇到的问题是,当您右键单击该图标时,会引发无法找到 NotifierContextMenu 的错误。我错过了什么?

最佳答案

我自己试过没有问题。您的 MouseDown 事件处理程序实际上是创建 NotifierContextMenu 的同一类的一部分,对吗?

也许尝试编写一些代码来列出资源,看看您是否可以匹配它所指的资源集。

关于wpf - 系统托盘中的右键单击上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4700714/

相关文章:

c++ - 清空 Win32 弹出式菜单

c# - 扩展 Windows 资源管理器上下文菜单

c# - 如何在 Windows 中嵌入 tabtip.exe

c# - 如何使用 XSLT 将 Richtext 图像从标准 WPF RichTextBox 转换为 HTML?

c# - 将系统默认上下文菜单添加到无边框 Windows 窗体

java - 如何向 Android 的 native 'Edit text' 上下文菜单添加选项

WPF TextBlock 字体大小调整以填充网格中的可用空间

c# - WPF:从模型MVVM关闭窗口

wpf - AdornedElementPlaceholder 当我们在验证控件模板中使用它时,它到底做了什么?

javascript - 如何获取表中调用行的第二列值?