2009-08-07 8 views
1

Einfache Frage hier: Was macht die StaysOpen Eigenschaft der ContextMenu (oder äquivalent Popup) Kontrolle tatsächlich? Ich habe versucht, den Unterschied im Verhalten zu beobachten, aber ich bemerke überhaupt nichts.ContextMenu.StaysOpen Eigenschaft (WPF)

MSDN besagt Folgendes:

true, wenn das Menü, bis die IsOpen Eigenschaftsänderungen auf false offen bleiben sollten; sonst falsch. Der Standardwert ist falsch.

Allerdings ist dies wirklich ziemlich vage, und hilft mir nicht. Ich habe vorher vermutet, dass das Popup nur dann geschlossen wird, wenn IsOpen vom Code auf false gesetzt wird - und nicht wenn es den Fokus/Maus-Capture verliert (mein gewünschtes Verhalten), aber das scheint nicht der Fall zu sein.

Könnte jemand bitte erklären, was genau diese Eigenschaft tun soll? Idealerweise sollte ein Beispiel dafür sorgen, dass der Unterschied im Verhalten am hilfreichsten ist. Schließlich, wenn Sie irgendwelche Vorschläge haben, wie ich mein gewünschtes Verhalten bekommen könnte, wäre das großartig.

+0

Ich fand dies: http://www.dreamincode.net/forums/showtopic86075.htm –

Antwort

1

Scheint wie die Antwort ist, dass, weil ContextMenu die Maus erfasst, schließt das Popup zwangsläufig, weil das Steuerelement automatisch verdrahtet wird, um das Popup zu schließen, wenn die Maus die Erfassung verliert. Ein Designfehler vielleicht? Es scheint, dass es jedoch überwunden werden kann, indem man eine primitive Popup Kontrolle verwendet, oder eine ToolTip wenn angemessen.

Verwandte Themen