2009-08-07 70 views
1

简单的问题在这里:ContextMenu(或等效于Popup)控件的StaysOpen属性实际上是干什么的?我试图观察行为上的差异,但我没有注意到任何事情。ContextMenu.Stays打开属性(WPF)

MSDN规定如下:

如果真菜单应该保持开放,直到IsOpen属性更改为false;否则,是错误的。默认值是false。

但是,这真的很含糊,对我没有任何帮助。我之前猜测只有在IsOpen从代码设置为false时才会关闭弹出窗口 - 而不是在失去焦点/鼠标捕捉时(我期望的行为),但这似乎并非如此。

请问有人可以解释一下这个属性究竟意味着什么?理想情况下,一个实验确定行为差异将是最有帮助的。最后,如果你有任何建议我可能会得到我想要的行为,那就太好了。

+0

我发现这个:http://www.dreamincode.net/forums/showtopic86075.htm – 2009-08-07 17:14:56

回答

1

好像答案是,因为ContextMenu捕获鼠标,弹出不可避免地关闭,因为当鼠标失去捕获时控件会自动连线以关闭弹出窗口。也许是设计缺陷?看起来它可以通过使用基本控制或在适当时使用ToolTip来克服。