1

这里有一个简单的问题:(或等效的)控件的StaysOpen属性实际上是做什么的?我曾尝试观察行为上的差异,但我没有注意到任何东西。ContextMenuPopup

MSDN 声明如下:

如果菜单在 IsOpen 属性更改为 false 之前应保持打开状态,则为 true;否则为假。默认值为假。

但是,这真的很模糊,对我没有帮助。我以前猜测只有在代码中设置为 false 时才会关闭弹出窗口IsOpen- 而不是在它失去焦点/鼠标捕获(我想要的行为)时关闭,但情况似乎并非如此。

有人可以解释一下这个属性到底是做什么的吗?理想情况下,一个例子表明行为上的差异将是最有帮助的。最后,如果您对如何获得我想要的行为有任何建议,那就太好了。

4

1 回答 1

1

似乎答案是因为ContextMenu捕获鼠标,弹出窗口不可避免地关闭,因为当鼠标失去捕获时,控件会自动连接以关闭弹出窗口。也许是设计缺陷?然而,似乎可以通过使用原始Popup控件或适当的ToolTip时候来克服它。

于 2009-08-23T14:06:41.357 回答