2009-08-07 6 views
1

Question simple ici: qu'est-ce que la propriété StaysOpen du contrôle ContextMenu (ou équivalent Popup) fait réellement? J'ai essayé d'observer la différence de comportement, mais je n'en vois aucun.ContextMenu.StaysOpen Property (WPF)

MSDN stipule ce qui suit:

vrai si le menu doit rester ouvert jusqu'à ce que les changements de propriété IsOpen false; sinon, faux. Le défaut est faux.

Cependant, ceci est vraiment assez vague, et ne m'aide pas. Je devinais précédemment que le popup ne serait fermé que lorsque IsOpen est défini sur false à partir du code - et non quand il perd le focus/capture de la souris (mon comportement souhaité), mais cela ne semble pas être le cas.

Quelqu'un pourrait-il expliquer ce que cette propriété est censée faire exactement? Idéalement, un exampe identifierait que la différence de comportement serait très utile. Enfin, si vous avez des suggestions sur la façon dont je pourrais obtenir le comportement souhaité, ce serait formidable.

+0

J'ai trouvé ceci: http://www.dreamincode.net/forums/showtopic86075.htm –

Répondre

1

On dirait que parce que ContextMenu capture la souris, la fenêtre se ferme inévitablement parce que le contrôle est automatiquement câblé pour fermer le popup lorsque la souris perd la capture. Un défaut de conception, peut-être? Il semble que cela puisse être surmonté en utilisant un contrôle Popup primitif, ou un ToolTip quand approprié.