2009-07-30 5 views
2

Nous construisons une application qui utilise des raccourcis clavier, c'est une interface web pour une application Windows existante. Normalement, vous pouvez vérifier queComment détecter les combos ALT dans Silverlight?

Keyboard.Modifiers == ModifierKeys.Alt 

Toutefois, lorsque vous utilisez des combos avec Alt, le navigateur capture la combinaison de touches Alt pour voir si elle peut le manipuler.

La seule façon de contourner cela, je l'ai vu jusqu'à présent est de câbler manuellement les événements keydown dans les DOM comme ceci:

System.Windows.Browser.HtmlPage.Document.Body.AttachEvent("onkeydown", new EventHandler<System.Windows.Browser.HtmlEventArgs>(OnBodyKeyDown)); 

ont ensuite votre signal de contrôle de code avec un drapeau si le Alt la touche est enfoncée ou non. Ceci est décrit here.

KeyEventArgs est scellé de sorte que vous ne pouvez pas simplement le soulever vous-même et vous ne pouvez pas configurer les Modificateurs directement.

De toute évidence, ce n'est pas une situation idéale, est-ce que quelqu'un a un aperçu de la façon dont cela pourrait être mieux accompli?

[Nous travaillons avec Silverlight 3.0.]

+0

Bonjour TreeUK Je viens de tester cela avec Silverlight 3.0 sur l'événement MouseLeftButtonUp et Silverlight détecte la touche alt. Pouvez-vous s'il vous plaît poster un code qui montre le problème? –

+0

Oui, ma question concerne les combos de clavier utilisant Alt, pas le clavier + la souris. –

+1

J'ai cherché autour et pense qu'il n'y a vraiment pas de meilleure façon. Il n'y a pas non plus PreviewKeyDown dans Silverlight. – RandomEngy

Répondre

0

Il ne semble pas être une façon de le faire à partir de V3.0.