繁体   English   中英

WPF中的弹出窗口立即失去焦点并关闭

[英]Popups in WPF immediately lose focus and close

我一直在反对WPF弹出窗口问题,并希望有人可以帮助我:)概述如下:

我们的应用程序存储UIObject列表-这些代表在视口3d中显示的元素(通过成员UIRenderObject,它只是上面带有位图的平面正方形网格)和在Treeview中显示(通过成员TreeViewItem)。

在这两种情况下,当检测对象右击,它试图打开一个弹出。 相应的代码尽可能地直接:

ContextMenu contextMenu = new ContextMenu();

//add content

contextMenu.IsOpen = true;

当我单击视口时,一切都会按预期进行-弹出窗口将打开,并保持打开状态,直到失去焦点或做出选择为止。 但是,在树状视图中,弹出窗口失去焦点并立即关闭。

我尝试过显式设置焦点,显式设置PlacementTarget,将鼠标事件标记为在调用打开弹出窗口之前和之后处理的事件,平放地将弹出窗口标记为“ StaysOpen”和许多其他东西,但仍然会立即关闭。

任何帮助都感激不尽。 提前致谢!

igh,事实证明我使事情变得过于复杂。 不用自己管理上下文菜单,而是将其分配给TreeViewItem自己的ContextMenu并让系统处理它。 那会学到我的。 感谢大家的投入:)

这是ContextMenu的默认行为。 或者,您可以使用Popup Class代替ContextMenu。 然后,您可以根据需要扩展它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM