我有一个带有项目的 ListBox,并为它分配了一个带有三个菜单项的 ContextMenu。除了其中一个菜单项启动一个冗长的操作外,一切都正常。我想从处理程序中关闭 ContextMenu,并可能显示一个沙漏光标或其他东西。
可以做到吗?或者,我应该使用弹出窗口吗?如果是这样,我如何使用 Popup 代替 ContextMenu?我的假设是我必须完全管理它 - 位置和生命周期。
谢谢!
最佳答案
你想要的是:
myContextMenu.IsOpen = false;
请务必在冗长的操作发生之前调用它。根据您的操作,您可能需要考虑通过在另一个线程上执行操作来使其异步 - 这样,您就不会停止应用程序线程。
关于wpf - 如何强制关闭 ContextMenu(WPF 项目)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2820610/