2012-04-04 5 views
2

私はSilverlightオンラインゲームを開発するためにVS2010、C#を使用しています。ユーザー入力を取得するためにキーボードを使用しますが、フルスクリーンではない私のシーンでは何もありません)、最初はどのようにキーボードに焦点を当てることができるので、ゲームを開始するたびにキーボードで演奏することができます(キャンバスをクリックする必要はありません)私のキーボードを設定します。Silverlightアプリケーションでキーボードをアクティブにするにはマウスをクリックする必要があります

 public MainPage() 
    { 
     InitializeComponent(); 
     Loaded += new RoutedEventHandler(Page_Loaded); 
    } 


     void Page_Loaded(object sender, RoutedEventArgs e) 
    { 
     this.KeyDown += new KeyEventHandler(Page_KeyDown); 
    } 

     void Page_KeyDown(object sender, KeyEventArgs e) 
    { 
    .... 
    } 

答えて

1

は、ここで説明するように、あなたのSilverlightプラグインに最初にフォーカスを設定してみてください:http://blog.falafel.com/Blogs/josh-eastburn/2011/03/10/Setting_Focus_on_the_Silverlight_Plugin_Object

その後、キーボード入力を受け入れるコントロールに次のフォーカスを適用します。あるコントロールが何であるかを

$('#silverlightPlugin').on(function(){ 
    $(this).focus(); 
} 
+0

:それは文書レディ機能上の最初のスクリプトを実行して、DOMツリーでインスタンス化されます後

私のために働いています追加の先端はプラグインにDOMフォーカスを設定することですここにキーボード入力を受け入れていますか?私のキャンバス? –

+0

あなたのコードを見ることなく言うのは難しいですが、私はSilverlightアプリケーションに、キーボードボードのイベント(テキストボックスなど)をトリガーする要素があると仮定しています。どのような要素でキーイベントを発生させたいのかは、プラグインがフォーカスを受けた後にフォーカスを設定することです。 – KodeKreachor

関連する問題