2010-12-02 9 views
2

J'ai un petit problème avec le menu contextuel en C#/WPF. Je vais l'ouvrir dans une toile, en étant attaché à un rectangle. J'ai défini pour l'ouvrir avec la clé de l'espace, et cela fonctionne bien. Maintenant, je veux passer à l'App-Key (aka Menu-Key, Application-Key, Contxt-Key, etc.). Lorsque j'appuie sur la touche App, le menu contextuel apparaît, mais dans la mesure où une touche est relâchée, elle disparaît. Pour le cas de test, j'ai aussi essayé avec la touche 'a', et ça marche aussi bien. Est-ce que quelqu'un sait pourquoi il disparaît après avoir relâché le bouton? Cette clé a-t-elle un comportement particulier?Le menu contextuel disparaît lorsqu'il est ouvert avec Key.App

Voici le code:

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; 
    } 
} 

Répondre

2

Pour tous ceux qui ont le même problème, voici la solution: La clé App ne doit pas être traitée dans l'événement KeyDown, est doit être traitée dans le Événement KeyUp.

BR, Ossi

Questions connexes