2009-07-30 6 views
2

私たちは、ホットキーを利用するアプリケーションを構築しています。これは、既存のWindowsアプリケーションのWeb UIです。 通常、あなたがAltキーとのコンボを使用しているときSilverlightでどのようにALTコンボを検出しますか?

Keyboard.Modifiers == ModifierKeys.Alt 

はしかし、ブラウザはそれを扱うことができるかどうかを確認するためにAltキーキーストロークをキャプチャすることを確認することができます。

私がこれまで見てきたこの周りの唯一の方法は、手動でこのようなDOMでのKeyDownイベントまで配線することです:

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

その後Altキーかどうかのフラグを使用して、コードのチェック信号を持っていますキーが押されたかどうかを確認します。 これはhereと記載されています。

KeyEventArgsは封印されているため、自分で持ち上げることはできず、修飾子を直接設定することはできません。

明らかに、これは理想的な状況ではありませんが、どのようにこれをよりうまく達成できるかについての洞察はありますか?

[我々はシルバー3.0で作業している。]

+0

こんにちはTreeUK これをMouseLeftButtonUpイベントでSilverlight 3.0でテストしたところ、Silverlightはaltキーを検出しました。問題を示すコードを投稿してください。 –

+0

ええ、私の質問はAlt +キーボード+マウスを使ったキーボードコンボです。 –

+1

私は周りを探索してきたし、本当に良い方法はないと思う。 SilverlightにはPreviewKeyDownもありません。 – RandomEngy

答えて

0

V3.0のとしてこれを行うための方法はないようです。