如何使用带有 Win32 NotifyIcon 的现代 Windows 10 上下文菜单?

How can I use a modern Windows 10 context menu with a Win32 NotifyIcon?

我的目标是将现代 Windows 10 主题上下文菜单与我的 C# 应用程序的托盘图标一起使用。 Eartrumpet 的托盘图标上下文菜单使用它,所以我知道这是可能的,但我在破译他们是如何做到这一点时遇到了很多麻烦。仅仅改变颜色是不够的,我想使用与常规 Windows 10 个上下文菜单相同的设计。

这就是我希望我的应用程序托盘图标菜单的样子:

这就是我所坚持的:

如果你想在 Win32 应用程序中使用 MenuFlyout 控件,你可以参考这个 document that teach how to use uwp control in win32 app via Windows Community Toolkit 您还可以在 Win32 应用程序的 window.

中托管完整的 uwp 页面

除了 Nico Zhu 的出色回答,我认为 Windows 10 任务栏上下文菜单只是样式不同的普通菜单。

MSFT 仅通过重新设计样式就为文件资源管理器创建了“深色”主题,这一事实使这种观点更加强烈。

只是样式不同,不是新控件。

H.NotifyIcon.WinUI 库允许您创建支持动画和主题的本机 WinUI 上下文菜单 - https://github.com/HavenDV/H.NotifyIcon/#winui-context-menu