Свойство ContextMenu.StaysOpen (WPF) - PullRequest
       16

Свойство ContextMenu.StaysOpen (WPF)

1 голос
/ 07 августа 2009

Простой вопрос: что на самом деле делает свойство StaysOpen элемента управления ContextMenu (или эквивалентно Popup)? Я пытался наблюдать разницу в поведении, но ничего не замечаю.

MSDN гласит следующее:

true, если меню должно оставаться открытым, пока свойство IsOpen не изменится на false; иначе ложно. По умолчанию установлено значение false.

Однако это действительно довольно расплывчато и мне не поможет. Ранее я предполагал, что всплывающее окно будет закрыто, только если для кода IsOpen установлено значение false из кода, а не когда оно теряет фокус / захват мыши (мое желаемое поведение), но, похоже, это не так.

Может кто-нибудь объяснить, для чего конкретно предназначено это свойство? В идеале экзаменатор должен определить, что разница в поведении будет наиболее полезной. Наконец, если у вас есть предложения, как мне добиться желаемого поведения, это было бы замечательно.

1 Ответ

1 голос
/ 23 августа 2009

Похоже, ответ заключается в том, что, поскольку ContextMenu захватывает мышь, всплывающее окно неизбежно закрывается, поскольку элемент управления автоматически подключается для закрытия всплывающего окна, когда мышь теряет захват. Возможно, недостаток дизайна? Похоже, что его можно преодолеть, используя примитивный элемент управления Popup или ToolTip при подходе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...