Контекстное меню исчезает при открытии с Key.App - PullRequest
2 голосов
/ 02 декабря 2010

У меня небольшая проблема с контекстным меню в C # / WPF.Я открою это в пределах холста, будучи прикрепленным к прямоугольнику.Я решил открыть его с помощью клавиши пробела, и он работает нормально.Теперь я хочу сменить ключ приложения (он же ключ меню, ключ приложения, ключ Contxt и т. Д.).Когда я нажимаю клавишу App, появляется контекстное меню, но если отпустить клавишу, оно исчезает.Для тестового примера я также попробовал это с ключом 'a', и это также отлично работает.Кто-нибудь знает почему исчезает после отпускания кнопки?Имеет ли этот ключ какое-то особое поведение?

Вот код:

private void Rect_KeyDown(object sender, KeyEventArgs e) {
  if (e.Key == Key.Space || e.Key == Key.A || e.Key == Key.Apps) { 
     e.Handled = true;    
     componentWithFocus.MainRectangle.ContextMenu.IsOpen = true;
  }
}

1 Ответ

2 голосов
/ 27 января 2011

Для всех, у кого такая же проблема, вот решение: Ключ приложения не должен обрабатываться в событии KeyDown, он должен обрабатываться в событии KeyUp.

BR, Осси

...