我一直在努力解决 WPF 弹出问题,希望有人能帮助我:) 大纲是这样的:
我们的应用程序存储了一个 UIObject 列表 - 这些表示在视口 3d 中显示的元素(通过成员 UIRenderObject,它只是一个带有位图的平面方形网格)和树视图中(通过成员 TreeViewItem)。
无论哪种情况,当对象检测到右键单击时,它都会尝试打开一个弹出窗口。代码尽可能简单:
ContextMenu contextMenu = new ContextMenu();
//add content
contextMenu.IsOpen = true;
当我在视口中单击时,一切都按预期工作 - 弹出窗口打开,并保持打开状态,直到它失去焦点或做出选择。然而,在树视图中,弹出窗口失去焦点并立即关闭。
我已经尝试过明确设置焦点,明确设置 PlacementTarget,在调用打开弹出窗口之前和之后将鼠标事件标记为已处理,将弹出窗口完全标记为“StaysOpen”和其他十几件事,但它仍然立即关闭.
任何帮助都感激不尽。提前致谢!